Jquery Ajax Recaptcha не работает с использованием codeigniter - PullRequest
0 голосов
/ 24 февраля 2019

view:

<script>
    $(document).ready(function(){
        $("#register").click(function(e) {
            e.preventDefault();
            name = $("#name_up").val();
            $.ajax({
                type: "POST",
                url: "<?php echo base_url(); ?>register",
                data: {"name":name, "g-recaptcha-response": grecaptcha.getResponse()},
                success: function(data) {
                    alert(data);
                }
            });
        });
    });
</script>

<form method="post" id="contact-form-up">
    <input type="text" name="name_up" id="name_up" placeholder="Full Name">
    <div class="g-recaptcha" data-sitekey="****************************************"></div>
    <input class="theme-btn submit-btn" type="submit" name="register" id="register" value="Sign Up">
</form>

Контроллер:

public function register()
{
    $recaptcha = $this->input->post('g-recaptcha-response');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"https://www.google.com/recaptcha/api/siteverify");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,"secret=****************************************=".$recaptcha);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec ($ch);
    $server_output = json_decode($server_output,true);
    curl_close ($ch);
    if($server_output['success'])
    {
        echo "captacha validated successfully";
    }
    else
    {
        echo "invalid captcha";
    }
}

В этом коде у меня есть форма, где я использую Google Reaptcha, когда я нажимаю кнопку register без проверки Recaptcha затемэто предупреждает invalid captcha но когда я проверяю recaptcha, это снова показывает invalid Я не знаю почему, что, где я делаю неправильно?Пожалуйста, помогите мне.

Спасибо

...