ReCaptcha表单无法正常工作

时间:2014-07-30 13:33:26

标签: php recaptcha

我正在尝试为我的表单创建一个ReCaptcha。

我已经阅读了文档,但是如何将ReCaptcha与表单进行对等...我使用了私钥但是没有用...

http://www.the-big-bbq.co.uk/invitation.php#prettyPhoto

这是网站

此刻显示,但如果我不输入任何表格仍然提交。

代码:

 <?php
require_once('recaptchalib.php');

// Get a key from https://www.google.com/recaptcha/admin/create
$publickey = "i have added the key here";
$privatekey = "i have added the key here";
# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

if ($resp->is_valid) {
        echo "You got it!";
} else {
        # set the error code so that we can display it
        $error = $resp->error;
}
}
 echo recaptcha_get_html($publickey, $error);
?>

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。所以我在我的页面上添加了Java Function validateForm()。 所以现在它不会进入recapcha步骤,所有必要的字段都有正确的输入。

我在html表单页面中使用了此代码,以显示recaptcha字段:

<!-- Google recaptcha -->
    <tr>

    <td colspan="5">
    <script type="text/javascript"
   src="http://www.google.com/recaptcha/api/challenge?k=0000000000000000000000...">
</script>
<noscript>
   <iframe src="http://www.google.com/recaptcha/api/noscript?k=0000000000000000000000..."
       height="65" width="109" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="2" cols="2">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
       value="manual_challenge">
</noscript>
    </td>
    <tr>

我有它到我的网站。但是服务器验证:&#34;在没有插件的情况下验证用户的答案&#34;。不会工作。 我尝试添加verify.php操作(并将必要的.php文件添加到我的根目录。)但没有。

    <form name="reserveringen" method="post" onsubmit="return validateForm();" action="verify.php">
<?php
require_once('recaptchalib.php');
          $publickey = "0000000000000000000000..."; 
          echo recaptcha_get_html($publickey);
?>

提示会很棒:)。