Пытаюсь настроить reCaptcha v3beta на форму отправки, но ничего не выходит, по крайнем мере статистику не показывает. Или возможно все работает, но статистики нет из-за того что мало траффика.
Ссылка на сайт с формой:
www.kwoonfan.h1n.ru/recaptcha0
Код сайта:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>reCaptcha</title>
<link rel="stylesheet" href="css/main.css">
<script src='https://www.google.com/recaptcha/api.js?render=6LehUWUUAAAAAKu51NyhKOjmhz3XEGC4xTyH85-u'></script>
</head>
<body>
<div id="wrapper">
<form action="send.php" method="post" id="form">
<input type="text" placeholder="Name" name="fio">
<input type="tel" placeholder="Phone" name="phone">
<div class="btn_cover">
<button class="btn">ORDER</button>
</div>
</form>
</div>
<script src="js/main.js"></script>
</body>
</html>
CSS:
#wrapper {
display: flex;
justify-content: center;
align-items: center;
height: 800px;
width: 100%;
}
#form {
padding: 30px;
background-color: orangered;
border-radius: 4px;
}
input {
width: 100%;
height: 40px;
font-size: 20px;
box-sizing: border-box;
margin: 10px 0;
padding-left: 20px;
outline: none;
border-radius: 4px;
}
.btn_cover {
width: 100%;
text-align: center;
padding: 20px 0;
}
.btn {
padding: 20px 30px;
font-size: 20px;
margin: 0 auto;
min-width: 200px;
cursor: pointer;
border-radius: 4px;
}
JavaScript:
grecaptcha.ready(function () {
grecaptcha.execute('ТУТ МОЙ СЕКРЕТНЫЙ КОД', {
action: 'login'
})
.then(function (token) {
...
});
});
send.php:
<?php
$fio = $_POST['fio'];
$phone = $_POST['phone'];
$fio = htmlspecialchars($fio);
$phone = htmlspecialchars($phone);
$fio = urldecode($fio);
$phone = urldecode($phone);
$text = urldecode($text);
$fio = trim($fio);
$phone = trim($phone);
$text = trim($text);
//echo $fio;
//echo "<br>";
//echo $email;
if (mail("ТУТ МОЯ ПОЧТА, КУДА ПРИХОДЯТ ПИСЬМА", "Заявка с сайта", "ФИО:".$fio.". Phone:".$phone. "From: KWOONFAN \r\n"))
{ echo "сообщение успешно отправлено";
} else {
$gipadress=$_SERVER['REMOTE_ADDR'];
$grecaptcha=$_POST['g-recaptcha-response'];
$postdata = http_build_query(
array(
'secret' => 'ТУТ МОЙ СЕКРЕТНЫЙ КОД',
'response' => $grecaptcha,
'remoteip' => $gipadress
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$gcontents = stream_context_create($opts);
$gresults = file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $gcontents);
$jsonresults = json_decode($gresults);
if ($jsonresults->{'success'}===false ) {
// the code was incorrect
print "<font color=\"red\">Ошибка: введен неправильный проверочный код!</font><br /><br />";
}
else if ($jsonresults->{'success'}=== true )
{
echo "при отправке сообщения возникли ошибки";
}
}?>