Benim reCaptcha şimdi ajax kullanarak benim kayıt işlemi içine uygulanır ..
Şu olursa olsun doğrular asla Captcha metin alanına yazdığınız ne. Bu sadece bana yazdığınız yeni kelimeler vererek tutar
Ben kullanıcı doğru Captcha cevabı girilen olmadığını test etmek gerekir, çünkü bu kadar anladım. Ben bir POST isteği göndermek gerekir.
Ben bunu nasıl .. ben önce bunu yapmak zorunda hiç bir fikrim yok ve belgeler benim için yeterince açık değildir ..
Ben alabilir herhangi bir yardım seviniriz.
Kodumu İşte:
$(document).ready(function(){
$('#fhjoinForm').submit(function(e) {
register();
e.preventDefault();
});
});
function register()
{
hideshow('loading',1);
error(0);
$.ajax({
type: "POST",
url: "submit.php",
data: $('#fhjoinForm').serialize(),
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
Recaptcha.create("pub key xxxxxxxxxxx",
"recaptcha_div",
{
theme: "clean",
callback: function(){
// what to do on success
window.location=msg.txt;
}
}
);
}
else if(parseInt(msg.status)==0)
{
error(1,msg.txt);
}
hideshow('loading',0);
}
});
}
function hideshow(el,act)
{
if(act) $('#'+el).css('visibility','visible');
else $('#'+el).css('visibility','hidden');
}
function error(act,txt)
{
hideshow('error',act);
if(txt) $('#error').html(txt);
}
Bu benim sonrası isteği için
<?php
require_once('recaptchalib.php');
$publickey = "pub key hidden"; // you got this from the signup page
$privatekey = "priv key hidden";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
?>success<?
}
else
{
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
}
?>