Я разработал окно комментариев для получения комментариев. Вместо того, чтобы использовать плагины captcha, я подготовил настраиваемый код с 5-значным номером. Когда я отправляю детали, я все равно получаю страницу с ошибкой. Я проверил различные сайты в Google, но не смог найти правильный ответ.captcha код не работает
- comments.html - Комментарий окно для комментариев
- captcha.php - Пользовательские CAPTCHA, с 5-значным кодом
- submit.php - для обработки коды
- error.html - ошибка страницы для неправильной записи
- thank.html - Страница о представлении успешного
Я не могу разобраться, из где ошибка. Пожалуйста, помогите мне в этом отношении. Исходные коды comments.html и submit.php приведены ниже.
========= COMMENTS.HTML ==============
<form action="submit.php" method="post">
Name: <input type="text" name="name" /> <br>
Email: <input type="text" name="email" /> <br>
Comments: <textarea name="coments" /> <br>
Enter Captcha <img src="captcha.php"><input type="text" name="vercode" /> <br>
<input type="submit" name='submit' onclick="show_confirm()" value="SUBMIT" />
</form>
============= SUBMIT.PHP =================
<?php
session_start();
if ($_POST["vercode"] != $_SESSION["vercode"] OR $_SESSION["vercode"]=='')
{
//This page should not be accessed directly. Need to submit the form.
header('Location: error.html');
exit;
}
$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];
if(empty($name) || empty($email)||empty($comments))
{
header('Location:error.html');
exit;
}
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[email]))
{
header('Location:error.html');
exit;
}
$email_from = '[email protected]';
$email_subject = "CONTACT FORM";
$email_body="============================\n".
"FULL NAME: $name\n".
"EMAIL-ID: $email\n".
"COMMENTS: $comments\n".
$to = "[email protected]";
$headers = "From: $email_from \r\n";
mail($to,$email_subject,$email_body,$headers);
//done. redirect to thank-you page.
header('Location: thank.html');
?>
Вам нужно 'session_start()' в самом верхнем углу вашего submit.php – Ahmad
Sir, session_start(); существует как для submit.php, так и для cptcha.php. Но каждый раз он показывает только страницу с ошибкой. – user2609197