我已经在我的html表单上实现了重新捕获代码,没有任何问题。
我在头文件中有java脚本引用。我得到了g-recaptcha-response的结果,但是当我尝试验证它时,我没有得到任何结果,我什么都没回来,没有错误,什么都没有。我检查了我的网站,密钥是正确的。我还将$ resp置于$ status状态,以查看经过验证的回复来自Google,并且它始终显示为空。我无法弄清楚我做错了什么。
<div class="g-recaptcha" data-sitekey="MY.SITE.KEY"></div>
<br/>
<button name="submit" type="submit">Submit Registration Form</button>
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response']))
//your site secret key
$secret = 'MY.SECRET.KEY';
//get verify response data
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$resp = json_decode($verifyResponse);
if ($resp->success==false)
{
$proceed = false;
$status .= "You entered the ReCaptcha field incorrectly!".$resp."<br />";
}
答案 0 :(得分:0)
似乎您缺少大括号。
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) {
$secret = 'MY.SECRET.KEY';
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$resp = json_decode($verifyResponse);
if ($resp->success== true)
{
//Do something
}}