我有一个脚本,该脚本当前具有一个有效的Google ReCaptcha字段,但我希望它使用Google Server检查验证,并且是否存在将错误打印到要由javascript打印的$ error字符串中的错误。 / p>
所以,意思是
如果 [检查验证] 其他 [如果错误显示为$ errors]
但是我不确定如何使用此代码块正确执行此操作:
//Google ReCaptcha
if(isset($_POST['g-recaptcha-response'])) {
// RECAPTCHA SETTINGS
$captcha = $_POST['g-recaptcha-response'];
$ip = $_SERVER['REMOTE_ADDR'];
$key = 'SECRET_PASSWORD';
$url = 'https://www.google.com/recaptcha/api/siteverify';
// RECAPTCH RESPONSE
$recaptcha_response = file_get_contents($url.'?secret='.$key.'&response='.$captcha.'&remoteip='.$ip);
$_POST = json_decode($recaptcha_response);
if(isset($_POST->success) && $_POST->success === true) {
// code goes here
}
else {
die('Your account has been logged as a spammer, you cannot continue!');
}
}
我的其他区块已通过以下验证:
//Email validation
if ( isset($data["userEmail"]) && !empty( $data["userEmail"] ) ) {
$email = trim($data["userEmail"]);
if ( filter_var($email, FILTER_VALIDATE_EMAIL) === false){
$errors .= "$email is <strong>NOT</strong> a valid email address.<br/>";
}
} else {
$errors .= 'Please enter your email address.<br/>';
}
如何使用Google Recaptcha块正确执行此操作?像其余字段一样对待它,执行验证,如果有任何错误,它将打印到$ error字符串中,如果没有错误产生,则继续通过电子邮件发送内容。