Добрый день нужна помощь с настройкой reCaptcha v2: У меня есть форма мне же нужно чтоб человек оставался на этой же странице с предупреждением о не заполнении CAPTCHA и набранным сообщением в форме, но в моем коде когда человек не ставит галочку на иконке "I'm not a robot" recaptha code я смог добиться только следящего отправляет человека на пустую страницу с словами "Капча введена неверно" и сразу отправляет на пустую форму. Судорожно прошу помощи. Вот пример с самого сайта Google https://www.google.com/recaptcha/api2/demo Вот мой php обработчик: PHP: if ( !$_POST['g-recaptcha-response'] ) $url = 'https://www.google.com/recaptcha/api/siteverify'; $key = 'СЕКРЕТНЫЙ КЛЮЧ'; $query = $url.'?secret='.$key.'&response='.$_POST['g-recaptcha-response'].'&remoteip='.$_SERVER['REMOTE_ADDR']; $data = json_decode(file_get_contents($query)); if ( $data->success == false) $back = $_SERVER['HTTP_REFERER']; echo " <html> <head> <meta http-equiv='Refresh' content='0; URL=".$_SERVER['HTTP_REFERER']."'> </head> </html>"; exit('Капча введена неверно');
https://developers.google.com/recaptcha/docs/display смотри data-callback Можно даже с помощью javascript проверить если пользователь прошёл капчу и не пускать его дальше пока он её не разгадает, но потом на сервере проверять снова тоже нужно будет
Проверку у меня проходит с этим все впорядке. Нужно что бы если человек не отметил капчу его вернуло обратно на страницу с заполнеными данными и оповещением. Что написать после if($data->success==false) ?
Раз ты хочешь заполнить поля информацией которую он ввёл, то проще всего не перекидывать его, а оставить на той же странице, так ты сможешь снова заполнить поля из $_GET или $_POST смотря каким методом ты отправляешь данные