Изменение выражения ReCaptcha if else - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть скрипт, у которого в настоящее время есть работающее поле 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, а если ошибок не возникает, переходите к содержимому по электронной почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...