Я реализую reCaptcha, и я использую вызов Ajax на моей странице PHP, чтобы проверить правильность кода, без обновления страницы.
У меня есть этот код jQuery:
$.post('php/captcha.php', $('#captchaPost').serialize(), function(data){ if(data != "Valid") { $('#captchaError').show(); $captchaFlag = "Invalid"; } else { $('#captchaError').hide(); $captchaFlag = "Valid"; } });
И этот код PHP для почтового обработчика:
<?php require_once('recaptchalib.php'); $privatekey = "1234567890"; $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_REQUEST["recaptcha_challenge_field"], $_REQUEST["recaptcha_response_field"]); if (!$resp->is_valid) { // What happens when the CAPTCHA was entered incorrectly echo "Error"; } else { echo "Valid"; } ?>
Я проверил ответ, используя Firebug, и скрипт PHP всегда возвращает «Ошибка», даже когда я ввожу правильный Captcha. Форма кажется POST правильно, согласно серверу, хотя я не вижу, как проверить, что было опубликовано в форме. Я не использую функцию PHP для создания формы reCaptcha; Я получил HTML из документов Google по этому поводу. Любая помощь?