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
Я не знаю почему, что, где я делаю неправильно?Пожалуйста, помогите мне.
Спасибо