0

我想为reCAPTCHA在我的 php 中编写一个 JavaScript 和 php 验证我有下面的函数,但我不工作。reCAPTCHA如果我输入错误的代码,它不会返回错误消息:

function invalid($inputname,$error_message)
{
    $this->js.='if (!invalid(formname.'.$inputname.',"'.$error_message.'")) return false;';
    if ( isset($_POST[$inputname]) && strlen($_POST[$inputname]) - strlen(str_replace(' ','',$_POST[$inputname])) > $limit && $_POST[$inputname] != "")
    {
        $this -> error_message .= $error_message.'<br>';
    }
}

我不想只回显我想在表单顶部回显消息的消息,就像我使用其他验证所做的那样:

有人可以告诉我如何在 php 和 javascript 中正确地做到这一点吗?

谢谢

4

2 回答 2

2

请阅读reCAPTCHA 文档。它清楚地概述了正确使用该recaptcha_check_answer()函数(reCAPTCHA PHP 库的一部分)来验证解决方案。

于 2013-07-31T00:07:22.223 回答
-2

这个

strlen($_POST[$inputname]) - strlen(str_replace(' ','',$_POST[$inputname])) > $limit

将是错误的,假设 $limit 类似于 6。应该只是

strlen(str_replace(' ','',$_POST[$inputname])) > $limit

假设验证码是“香蕉”。strlen("bananas") - strlen("bananas") == 0.

添加JavaScript 在任何时候都不会返回false,因此undefined如果验证码正确,它将返回,这可能会影响您在其他地方的代码(特别是如果您使用 === 时)。

于 2013-07-30T23:53:23.967 回答