所有。我一直在尝试整合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">
<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>
提前致谢。
答案 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