Перейти к содержимому

Сервис обмена электронных валют


Правильное время отправки

#1 user87

user87
  • Пользователь
  • 1 сообщений
  • Репутация: 0
0

Отправлено 13 Июль 2009 - 20:40

Подскажите пожалйста, такая ситуация - после отправки письма с сайта через форму, письмо приходит, НО в поле "когда создано" всегда пишет "1 января 1980" почему, где косяк в коде? не могу понять, помогите...

хостинг не виноват, косяк гдето а коде.

Это код самой формы:
<?php
include('kcaptcha/kcaptcha.php');
session_start();
require_once("config.php");


if ($_POST['act']== "y")
{
	if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
	{
		
		if (isset($_POST['posName']) && $_POST['posName'] == "")
		{
		 $statusError = "$errors_name";
		}
		elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
		{
		 $statusError = "$errors_mailfrom";
		}
		elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
		{
		 $statusError = "$errors_incorrect";

		 unset($_POST['posEmail']);
		}
		elseif (isset($_POST['posRegard']) && $_POST['posRegard'] == "")
		{
		 $statusError = "$errors_subject";
		}
		
		elseif (isset($_POST['posTel']) && $_POST['posTel'] == "");
		
		
		elseif (isset($_POST['posText']) && $_POST['posText'] == "")
		{
		 $statusError = "$errors_message";
		}
		elseif (isset($_POST['posAcc']) && $_POST['posAcc'] == "");
		elseif (isset($_POST['posNick']) && $_POST['posNick'] == "");

elseif (!empty($_POST))
{   
 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-Type: $content  charset=$charset\r\n";
 $headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
 $headers .= "From: \"".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
 $headers .= "X-Mailer: My Send E-mail\r\n";

 mail("$mailto","$subject","$message","$headers");

 unset($name, $posText, $posTel, $posAcc, $posNick, $mailto, $subject, $posRegard, $message);

 $statusSuccess = "$send";
}

	   }else{
			 $statusError = "$captcha_error";
			 unset($_SESSION['captcha_keystring']);
		}
}
?>
<html>
<head>
	<title>Обратная связь</title>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
	<link href="style/main.css" rel="stylesheet" type="text/css" media='screen,projection' />
</head>
<body bgcolor="#E8E8E8">
<table border="0" align="center" width="760" cellpadding="0" cellspacing="0" bgcolor="white">
 <tr>
  <td>
   <table border="0" width="760" align="center" cellspacing="0" cellpadding="0">
   <tr>
	<td align="center" width="100%" background="img/header00.jpg" height="200">
	<a href="http://zuron.ru" style=" color:#FF9900; font-size:36px; text-decoration:none;"><!--<b>Пермский<br>Развлекательный<br>Портал</b></a>--><br><br><br><br>
	<b><div  style="color:#FF6600; font-size:14px;">Форма связи</div></b>
	</td>
   </tr>
   <tr><td background="img/bodybg00.jpg" width="100%" align="center">
   
   
  ТУТ САМО ТЕЛО ФОРМЫ, НО ОНО НЕ ВАЖНО.
   
  
   </tr>
 <tr><td background="img/footer00.jpg" width="100%" align="center" height="63" valign="middle">
 <center><font size="2"> <a href="" target="_blank" style="color:#FF9900; text-decoration:none;"><b></b></a><br><b></b></font></center>
 </td></tr>
</table>
</body>
</html>

Это конфиг "config.php":
<?php
$date=date("d.m.Y"); // число.месяц.год
$time=date("H:i:s"); // часы:минуты:секунды
$mailto = "123@123.ru";
$charset = "windows-1251";
$subject = $_POST['posRegard'];
$content = "text/html";
$message = $_POST['posText']; 
$statusError = "";
$statusSuccess = "";
?>

 

 

  • 0

#2 Евгений

Евгений
  • Пользователь
  • 481 сообщений
  • Репутация: 0

Отправлено 13 Июль 2009 - 20:48

вот это

$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";

замените на

$headers .= "Date: " . date("r") . "\n\n";


Дело в том, что формат сообщений должен быть RFC822 (или RFC2822). А такой формат даты можно вывести так date("r")
подробно об этом можно вот тут почитать http://www.bog.pp.ru...ges_format.html
  • 0


Оформление форума – IPBSkins.ru