如标题所示。根据Google的API,我认为我的代码应该没有任何notices
,但显然不是。我正在通过localhost
在XAMPP
上测试reCaptcha。
$key = "your key";
$check = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$key.'&response='.$_POST['g-recaptcha-response']);
$response = json_decode($key);
if($response->success===false){
$_SESSION['err_bot']="Error";
}
另外我在这条小路上收到Notice
:
“尝试在”if($response->success===false){
我搜索了一些类似的问题,很少有人发布这些通知,因为他们在form
中有table
。我正在使用fullPage.js
,它几乎与表有关。这可能是个问题吗?
解决
if(isset($_POST['g-recaptcha-response'])){
echo verify($_POST['g-recaptcha-response']);
}
function verify($response){
$ip = $_SERVER['REMOTE_ADDR'];
$key = "your key";
$url = 'https://www.google.com/recaptcha/api/siteverify';
$full_url = $url.'?secret='.$key.'&response='.$response.'&remoteip='.$ip;
$data = json_decode(file_get_contents($full_url));
if(isset($data->success) && $data->success == true){
return true;
}
return false;
}