Google Invisible reCAPTCHA с PHP, без ответа

Не могу заставить Google невидимую reCAPTCHA работать. Это должно быть легко, чтобы узнать, что я делаю не так. Вот мой код на стороне клиента:

<head>
<script type="text/javascript">

var onSubmit = function(token) {
console.log('success!');
};

var onloadCallback = function() {
grecaptcha.render('submit', {
'sitekey' : '------my site key---------',
'callback' : onSubmit
});
};
</script>
</head>

Форма:

<form action='/mail-script.php' target='_self' method='POST' id='econtact'>
<input class='w3-input' type='text' placeholder='Name' required name='Name'>
<input class='w3-input w3-section' type='text' placeholder='Email' required name='Email'>
<input class='w3-input w3-section' type='text' placeholder='Subject' required name='Subject'>
<input class='w3-input w3-section' type='text' placeholder='Comment' required name='Comment'>
<button class='w3-button w3-dark-blue w3-section' type='submit' name='submit'>
<i class='fa fa-paper-plane'></i> SEND MESSAGE</button></form>
<script src='https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit' async defer></script>

Код стороны подачи:

<?php
function checkCaptcha(){
if(isset($_POST['g-recaptcha-response'])){
$captcha = $_POST['g-recaptcha-response'];

$postdata = http_build_query(
array(
'secret'   => '----------secret code----------',
'response' => $captcha,
'remoteip' => $_SERVER['REMOTE_ADDR']
)
);

$options = array('http' =>
array(
'method'  => 'POST',
'header'  => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);

$context = stream_context_create($options);
$result  = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context));

return $result->success;
}else{
return false;
}
}
$captcha_result = checkCaptcha();

echo("the captcha result is: " . $captcha_result);
?>

Так что $ captcha_result пусто. Я не могу заставить его что-либо обнаружить. Я понимаю
g-recaptcha-response не проходит через форму правильно, или что-то еще происходит. Спасибо за помощь.

ОБНОВИТЬ: var_dump ($ результат); = NULL

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]