У меня проблема с проверкой и дальнейшей обработкой Captcha на моей форме. Я хотел бы подтвердить, что ответ правильный, а затем отправить электронное письмо и отправить пользователя на страницу с благодарностью, иначе перейдите на страницу с ошибкой, если пользователь не смог ввести правильный ответ на Captcha. Я беру код captcha в скрытом поле ввода в форме. Даже после ввода правильного кода он по-прежнему перенаправляет меня на страницу error.html, которую я установил.Captcha Validation and Send Email
См. Следующий код. Я использую «captcha_code», где я пытаюсь получить значение true/false. Как только ответ будет либо истинным, либо ложным на основании этого, он продолжит утверждение IF о том, что он отправит электронное письмо или отправит его на страницу «Спасибо».
(Если есть код, я не хватает, чтобы получить возможность отправлять, пожалуйста, дайте мне знать, я бы, что код размещен немедленно.)
PHP код: (обновленный код Комментарии к сообщению ниже) * Еще направлены на страницу «Ошибка», даже если код «captcha» правильный.
<?php
if ($_POST["submit"]) {
$companyName = $_POST['tscpCompanyName'];
$businessType = $_POST['tscpBusinessType'];
$yearsBusiness = $_POST['tscpYears'];
$numberOfUnits = $_POST['tscpNumberOfUnits'];
$firstName = $_POST['tscpFirstName'];
$lastName = $_POST['tscpLastName'];
$email = $_POST['tscpEmail'];
$number = $_POST['tscpNumber'];
$vals = $_POST['vals'];
$human = intval($_POST['captcha_code']);
$from = "From:[email protected]";
$to = "[email protected]";
$subject = 'Custom Package Request';
$body ="Company Name: $companyName\n\n Business Type: $businessType\n\n Years In Business: $yearsBusiness\n\n First Name: $firstName\n\n Last Name: $lastName\n\n Email: $email\n\n Number: $number\n\n Services: $vals\n\n";
if (!isset($_SESSION)) session_start();
if ($_POST['captcha_code'] == $_SESSION['code']) {
echo 'true';
} else {
echo 'false';
}
//Check if simple anti-bot test is correct
if ($human !== false) {
$errHuman = 'Your anti-spam is incorrect';
}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
if (mail ($to, $subject, $body, $from)) {
header("Location: /thank-you/mortgage-lending.html");
} else {
header("Location: /error.html");
}
}
else {
header("Location: /error.html");
}
}?>
использование сообщений об ошибках http://php.net/manual/en/function.error-reporting.php –
Что происходит в настоящее время? – chris85
Итак ... в чем проблема? – Siguza