Попытка добавить в мою форму контакта для моего сайта контактную информацию, и у меня возникают проблемы с получением результата, если я не установил оценку 0,0.Даже 0,1 пинает его спамом.Есть много примеров того, как реализовать, и я попробовал несколько из них, но мне не повезло (так как несколько для разных версий, что затрудняет работу для нас, новичков).
В любом случаеВот урезанная версия html-страницы формы, которую я пытаюсь использовать:
<head>
<script src='https://www.google.com/recaptcha/api.js?render=KEY'></script>
</head>
<body>
<form name="contactform" action="send_form_email.php" method="post">
<div class="input-group">
<span class="input-group-label">Name</span>
<input name="realname" class="input-group-field" type="text" value="Your Name Here" maxlength="50" onFocus="this.value=''">
</div>
<div class="input-group">
<span class="input-group-label">Email</span>
<input name="email" class="input-group-field" type="email" value="Your E-Mail Here" maxlength="50" onFocus="this.value=''">
</div>
<div class="input-group">
<span class="input-group-label">Message</span>
<textarea name="message" rows="10"></textarea>
</div>
<input type="Submit" class="button" value="SEND"><input type="Reset" class="button" value="RESET">
</form>
<script>
$(function(){ //wait for document ready
grecaptcha.ready(function() {
grecaptcha.execute('KEY', {action: 'contactUs'}).then(function(token) {
// Verify the token on the server.
});
});
});
</script>
</body>
Итак, у меня есть PHP-форма send_form_email.php, которую я использую, чтобы позаботиться обо всехтяжелая работа:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Build POST request:
$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = 'SECRET_KEY';
$recaptcha_response = $_POST['g-recaptcha-response'];
// Make and decode POST request:
$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response);
$recaptcha = json_decode($recaptcha);
// Take action based on the score returned:
if ($recaptcha->score >= 0.0) {
// This is just where I take care of formatting the email and sending it to me, which is working just fine... well while the score is set to 0.0
}
} else {
// otherwise, let the spammer think that they got their message through
header('Location: success.htm');
exit();
}
}
?>
Так вот, где я столкнулся с моей проблемой.В приведенном выше коде он установлен на 0.0, и это ЕДИНСТВЕННЫЙ способ, которым электронные письма приходят вообще.Но, конечно, это пропускает спам или реальные сообщения, потому что это в основном отключено.Как я уже сказал, если я установлю его даже на 0,1, он не пройдет проверку счета и никогда не отправит электронное письмо.Я уверен, что это что-то простое, что я пропускаю, или я не передаю информацию правильно или что-то в этом роде, но документация Google не очень полезна.Поэтому я надеюсь, что кто-то может указать, что я пропустил?
Спасибо!