我试图测试用户对验证码输入的响应。每当用户输入不正确的响应时,此代码都会起作用并吐出错误消息,但是当用户输入正确的响应时,它不会返回成功消息。实际上,响应是空的。我已经玩了几天了,我不知道这里发生了什么。事实上,我已经在我的应用程序的其他部分使用了这个结构,它工作得很好。任何想法可能会发生什么?
if ($recaptcha_response_field !== '') {
require_once('recaptchalib.php');
$privatekey = "removed_this_duh...";
$resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"],
$recaptcha_challenge_field, $recaptcha_response_field);
if (!$resp->is_valid) {
$entry_display = 'Sorry, I know this sucks...
but your entry was invalid, please try again.';
} else {
$entry_display = 'success';
}
return $entry_display;
这是客户端ajax业务:
function(data) {
if (data == 'success') {
alert('success');
$('#mask').hide();
$('#modal_container').hide();
} else {
alert(data);
$('#captcha_error_area').empty().append(data);
javascript:Recaptcha.reload();
}
成功后,这是我正在测试的对象:
Failure:
ReCaptchaResponse Object ( [is_valid] => [error] => incorrect-captcha-sol )
Success:
ReCaptchaResponse Object
(
[is_valid] => 1
[error] =>
)