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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в скрипте, Ни как не пойму где ошибка... 
V
    Опции темы
berdini
Дата 27.6.2011, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.6.2011

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



 Пытаюсь поставить капчу на форму обратной связи. Защита работает, но если введённый код и код капчи совпадают, сообщение, почему-то ни как не хочет отправляться.....  smile  
Ни как не пойму в чём может быть ошибка!  smile:  Очень надеюсь на Вашу помощь! smile

Код

<?
  session_start();
  session_register('scd');
  
$mailto = "***@***.ru";
$charset = "windows-1251";
$subject = "Сообщение с моего сайта";
$content = "text/html";
$status="<br>";
if (!empty($_POST))
{
    $pattern = "/^[a-z0-9](?:[a-z0-9_\.-]*[a-z0-9])*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])*\.)+[a-z]{2,4}$/i";

   if (isset($_SESSION['securityCode']) && $HTTP_SESSION_VARS['securityCode'] !== $_POST['secCode'])
            $status .= 'Введён неправильный защитный код!<br>';
   if ($_POST["name"] == "")
       $status .= 'Введите Ваше имя<br>';
   if ( !preg_match($pattern, $_POST["mailfrom"]) )
       $status .= 'Введите правильный электронный адрес<br>';
   if ($_POST["message"] == "")
       $status .= 'Сообщение оставлено пустым<br>';
   if ($status != "<br>")
   {
        echo $status;
    }
        exit();
   }

   $headers  = "MIME-Version: 1.0\r\n";
   $headers .= "Content-Type: ".$content." charset=".$charset."\r\n";
   $headers .= "From: \"".$_POST['name1']."".$_POST['name']."\" <".$_POST['mailfrom']."\" <".$_POST['hidden'].">\r\n";
   $headers .= "Bcc: ***@***.ru\r\n";
   $headers .= "X-Mailer: E-mail from my super-site \r\n";
   $sendmessage = "<html><body><p><b>Отзыв на произведение:</b> ".$_POST['name1']."</p><p><b>Имя пользователя:</b> ".$_POST['name']."</p>
     <p><b>E-mail для связи:</b> ".$_POST['mailfrom']."</p>
     <p><b>Сообщение:</b> ".$_POST['message']."</p>     
          </body></html>";
            
         if (mail($mailto,$subject,$sendmessage,$headers))
   {
      unset($_POST['name1'], $_POST['name'], $_POST['mailfrom'], $_POST['message']);
      $status = 'Спасибо, Ваше сообщение отправлено!';
             }
   else
   {
      $status = 'По техническим причинам сообщение не было отправлено. Попробуйте снова, а если не получится, обратитесь к разработчикам';
   }
 unset($_SESSION['securityCode']);
echo $status;
?>



Это сообщение отредактировал(а) berdini - 27.6.2011, 18:53
PM MAIL   Вверх
SneG0K
Дата 27.6.2011, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


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

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



Код

if (isset($_SESSION['securityCode']) && $HTTP_SESSION_VARS['securityCode'] !== $_POST['secCode'])
            $status .= 'Введён неправильный защитный код!<br>'

Попробуйте так
Код

if ($_SESSION['securityCode'] != $_POST['secCode'] || $_SESSION['securityCode'] == null) {
    $status .= 'Введён неправильный защитный код!<br>';
}

А вообще проверьте наличие защитного кода в $_SESSION и что передается в $_POST
PM WWW Skype   Вверх
berdini
Дата 27.6.2011, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.6.2011

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



К сожалению ситуация не изменилась: при вводе неправильного кода пишет, что введён неправильный код, но при вводе правильного кода не происходит вообще ничего..... smile   Такое впечатление, что скрипт не знает, что ему делать дальше. smile 
PM MAIL   Вверх
SneG0K
Дата 28.6.2011, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


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

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



Код

if ($status != "<br>")
{
    echo $status;
}
    exit();
}


Код

if ($status != '<br>') {
    echo $status;
    exit();
}

Мммм?
PM WWW Skype   Вверх
berdini
Дата 28.6.2011, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.6.2011

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



Ура!!! Получилось! smile 
Только писать надо было не:
Код

if ($status != '<br>') {
    echo $status;
    exit();
}


А:

Код

  if ($status != "<br>")
   {
        echo $status;
        exit();
    }
   }


И всё заработало! smile 

Спамерам вечный бой!


Это сообщение отредактировал(а) berdini - 28.6.2011, 09:35
PM MAIL   Вверх
SneG0K
Дата 28.6.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


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

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



Молодец!
PM WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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