Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка в дате при отправки из формы 
V
    Опции темы
kminas
Дата 2.9.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 26.10.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



В php не рублю. Но спамеры достают. Установил на сайте форму с проверкой с помощью captcha. Настроил скрипт, но письма с сайта приходят датированные 1.01.1980 4.00 или 3.59. Помогите разобраться в скрипте и найти ошибку, либо подскажите, где прочитать как пишется скрипт с датой.  Единственно что я понял, что заголовок с датой присутствует только после оператора "elseif" 
Код

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

Но почему то его нет после оператора "if"? 
PM MAIL   Вверх
NewDima
Дата 2.9.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Цитата(kminas @ 2.9.2009,  22:01)
Помогите разобраться в скрипте и найти ошибку, либо подскажите, где прочитать как пишется скрипт с датой.

1. По двум строчкам плохо понятно, что происходит в коде вообще
2. Что значит. "как пишется скрипт с датой"?
PM ICQ   Вверх
kminas
Дата 2.9.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 26.10.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



Код

<?
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['posText']) && $_POST['posText'] == "")
        {
         $statusError = "$errors_message";
        }

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, $mailto, $subject, $posRegard, $message);

 $statusSuccess = "$send";
}

       }else{
             $statusError = "$captcha_error";
             unset($_SESSION['captcha_keystring']);
        }
}


?>


Вот весь код.
Как сделать, чтобы отправленное письмо датировалось текущей датой и временем. Просто я хотел сам напрячь голову, но видно не получится.
PM MAIL   Вверх
Ипатьев
Дата 2.9.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



я думаю, надо убрать из кода ту самую строчку

Добавлено через 1 минуту и 32 секунды
а вообще кривой, конечно, код в целом.
лучше поискать другой какой-нибудь.
PM MAIL   Вверх
icewind
Дата 2.9.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Дата должна быть в формате RFC 2822

Попробуй
Код

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

заменить на
Код

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

или
Код

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



--------------------
user posted image
PM MAIL Skype   Вверх
kminas
Дата 2.9.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 26.10.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



Ипатьев, спасибо. Я, в общем тоже подумал, что по умолчанию должна вроде сама дата ставиться. Получилось, спасибо. Пока поставлю, а со временем, может сам разберусь.

Добавлено через 6 минут и 53 секунды
icewind, спасибо, попробую, сейчас домой надо бежать.

Это сообщение отредактировал(а) kminas - 2.9.2009, 15:42
PM MAIL   Вверх
kminas
Дата 2.9.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 26.10.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



icewind, Ваш вариант тоже сработал. Так все-таки как лучше оставить так или удалить и пусть сама ставится?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0827 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.