У меня есть скрипт, у которого в настоящее время есть работающее поле Google ReCaptcha, но я хочу, чтобы он проверил проверку на сервере Google и, если есть ошибка, вывести ошибку в мою строку $ error, которая будет напечатана JavaScript.
Итак, значение
если
[проверить валидацию]
еще
[если ошибки печатаются в $ 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, а если ошибок не возникает, переходите к содержимому по электронной почте.