Страницы: 1
Почти не разбираюсь в PHP. Установил почтовую форму на сайт. Настроил. Все работает. Решил усложнить работу роботам: разбил e-mail на 2 переменные. После этого форма так же исправно работает, но в Firefox'e почему-то выдается сообщение: "Проверьте правильность ввода защитного кода". Хотя само письмо доходит. В Опере и IE, "Ваше сообщение успешно отправлено". Сейчас проверил в Google Chrome, да и в Сафари все тоже в норме.
<?php $br ="bk.ru"; $mailto = "kminas@$br"; $charset = "windows-1251"; $str=" (заказ с сайта)"; $subject = $_POST['posRegard']. $str; $content = "text/plain"; $nph = "номер телефона - "; $phone = $_POST['posPhone'] ; $empty = "\n\r"; $message = $nph. $phone. $empty. $_POST['posText']; $statusError = ""; $statusSuccess = ""; $errors_name = 'Введите ваше имя'; $errors_mailfrom = 'Введите свой E-mail адрес'; $errors_incorrect = 'Заполните правильно Ваш E-mail адрес'; $errors_message = 'Наберите текст вашего сообщения'; $errors_subject = 'Введите тему сообщения'; $captcha_error = 'Проверьте правильность ввода защитного кода'; $send = 'Ваше сообщение успешно отправлено'; ?>
код проверки защитного кода:
<? 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('r', 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']); } } ?>
Отсутствует
Страницы: 1