reCaptcha не проверяет

Моя реализация reCaptcha не работает. Я изучил документацию от Google, но она не будет работать.

Плагин я реализовал так:

<form role="form" name="formular" method="post" onsubmit="return chkFormular()">
<div class="form-group" id="name">
<label class="control-label" for="name">Name</label>
<input type="text" class="form-control" name="name" placeholder="Name">
</div>
<div class="g-recaptcha" data-sitekey="my_public_key"></div>
<button type="submit" class="btn btn-default">Abschicken</button>
</form>

Капча работает отлично. Но теперь я хочу проверить это так:

require_once('../php/recaptchalib.php');
$privatekey = "my_private_key";
$publickey = "my_public_key";

# the response from reCAPTCHA
$resp = null;

# was there a reCAPTCHA response?
if( $_POST["recaptcha_response_field"] )
{
$resp = recaptcha_check_answer (
$privatekey, $_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
if( $resp->is_valid )
{
//send_mail
mail();
}
else {
if( $resp->error == 'incorrect-captcha-sol') {
// do something
}
}
}

Но это не вызовет mail() метод.

0

Решение

РНР mail Функция имеет три обязательных аргумента. Скорее всего, это просто провал из-за этого. Вы также должны рассмотреть возможность использования недавно выпущенная версия reCAPTCHA.

0

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

Я могу решить эту проблему самостоятельно.

Я вставляю капчу, как это в моей форме:

<div class="g-recaptcha " data-sitekey="6Ldj_v4SAAAAAF8dEtmmJ0kv8kkLLEJuQfcdCOMZ"></div>

И тогда я добавляю этот php-скрипт:

if (isset($_POST["g-recaptcha-response"]) && !(empty($_POST["g-recaptcha-response"]))) {
//send mail here
}

Хитрость в том, что «g-recaptcha-response» в посте пуст, если капча не была решена. В противном случае появляется нечитаемая строка.

-1

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