Пытаюсь поставить капчу на форму обратной связи. Защита работает, но если введённый код и код капчи совпадают, сообщение, почему-то ни как не хочет отправляться..... Ни как не пойму в чём может быть ошибка! : Очень надеюсь на Вашу помощь! :
| Код | <? 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; ?>
|
|