为什么需要回应“recaptcha_get_html”?

时间:2017-04-25 15:23:57

标签: php html css recaptcha

所有。我一直在尝试整合Google的reCAPTCHA,并且在尝试回显recaptcha_get_html时似乎失败了。它提出了一个未定义的函数错误。我到处寻找,似乎无法得到一个正确的答案。我对PHP很好,并不完全理解一切。有人可以解释我如何找到缺失的功能。所以我的问题是,是否需要回应这个功能?这是我的代码:

  <form class="" action="verify.php" method="post">
      <input type="text" name="email" value=" enter email address" onFocus="if(this.value==' enter email address')this.value='';" style="height:18px; width:218px; color: #cccccc; border: 1 solid #000000; background-color: #5e5e5e; font: xx-small Verdana">
      &nbsp; <br><br>
      <?php
        require_once('recaptchalib.php');
        $publickey = "// Public Key";
        echo recaptcha_get_html($publickey);
      ?>
      <br>
      <input type="submit" id="sendform" name='send' value="   send   " style="cursor: hand; height:18px; border: 1 solid #000000; background-color:#5e5e5e; color: #cccccc; font: xx-small Verdana; font-weight:bold">
    </form>

提前致谢。

2 个答案:

答案 0 :(得分:0)

好的,首先,你不需要回应这个功能! 正如J-H所说,您可能首先想要更新到最新版本的recaptcha。 以下是我在php中实现google recaptcha的方法

$secret = "Your secret key";
$reCaptcha = new ReCaptcha($secret);
    if ($_POST["g-recaptcha-response"]) {
        $response = $reCaptcha->verifyResponse ( 
   $_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]);
    }

    if(!($response != null && $response->success)) ...
      //it was successfully

注意我怎么不回应任何东西。另外,公钥应该在html中,私钥应该在PHP中。公钥不应该在PHP中,我不知道这是否是一个错字,但这也可能是另一个问题。最后,看起来好像你没有正确使用html为google recaptcha api,至少是新的。 包括<script src='https://www.google.com/recaptcha/api.js'></script> 在标题中<div style="margin:10px auto 0 auto; width:330px" class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div> 你希望recaptcha出现在哪里。然后你将全部工作。干杯

答案 1 :(得分:-1)

您似乎正在使用不再受支持的1.0版: https://developers.google.com/recaptcha/old/docs/php