2013-10-29 2 views
0

나는 형태 filename.php이이 내 나는 JQuery와 함수를 호출하고 난PHP 코드

<?php 
    //require_once('recaptchalib.php'); 
    $privatekey = "your_private_key"; 
    $resp = recaptcha_check_answer ($privatekey, 
           $_SERVER["REMOTE_ADDR"], 
           $_POST["recaptcha_challenge_field"], 
           $_POST["recaptcha_response_field"]); 

    if (!$resp->is_valid) { 
    // What happens when the CAPTCHA was entered incorrectly 
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." . 
     "(reCAPTCHA said: " . $resp->error . ")"); 
    } else { 
    // Your code here to handle a successful verification 
    } 
    ?> 

어떻게 내가 할 수있는 JQuery와 함수 내 다음 PHP 코드를 포함 할 것 그?

편집 내가 양식이 제출 될 때 변수를 정의 할

: 지금

<?php 
    //require_once('recaptchalib.php'); 
    $privatekey = "your_private_key"; 
    $resp = recaptcha_check_answer ($privatekey, 
           $_SERVER["REMOTE_ADDR"], 
           $_POST["recaptcha_challenge_field"], 
           $_POST["recaptcha_response_field"]); 

    if (!$resp->is_valid) { 
    // What happens when the CAPTCHA was entered incorrectly 
    $cverify = false; 
    } else { 
    // Your code here to handle a successful verification 
    $cverify = true; 
    } 
    ?> 

와 JS 코드에서 나는 다음과 같은 코드가 있다면 나는 또한 다음 정확한 확인 코드를 입력하면 그것은 허위로 경고합니다

var cverify = '<?php echo json_encode($cverify); ?>'; 
     alert(cverify); 

그럼 어떻게 제출 버튼을 클릭하면 확인 확인을받을 수 있습니까?

+0

질문이 나에게 불분명 한 것 같습니다. 지금 가지고있는 것을 보여줄 수 있습니까? PHP 파일의 jQuery 함수. – putvande

+0

php를 백엔드로 사용하여 javascript/jQuery에서 recaptcha의 유효성을 검사하려고합니까? 아약스를 사용해서는 안되나요? – Latheesan

+0

네, 맞습니다 .....하지만 여기에 사용하는 방법을 모르겠다 ... –

답변

0

제출시 formular의 paramterer에서 입력 한 captcha 코드와 filename.php의 captcha를 사용하여 filename.php에 ajax 요청을 보냅니다. 검사가 올 바르면 문자열 "else"로 "true"를 반환합니다.

완전한 ajax 요청에서 filename.php의 반환 값을 "true"와 비교하십시오. 성공하면 양식을 서 v에 계속 제출하십시오.

다른 사람이 javasctipt를 사용하지 못하도록 할 수 있으므로 체크되지 않은 데이터를 제출할 수 있으므로 양식 서버 측을 확인하십시오. 서버 측에서 captcha를 다시 확인해야합니다.

Ajax 호출 :

$.ajax({ 
    url: "filename.php", 
}).done(function(jqXHR, textStatus) { 
    if (jqXHR.response != "correct") { 
     alert('wrong captcha'); 
    } else { 
     alert('correct'); 
    } 
}); 

filename.php : 함수 recaptcha_check_answer 내부()하지만 당신은 보안 문자를 확인하기 위해 세션을 필요 뭐죠

<?php 
//require_once('recaptchalib.php'); 
$privatekey = "your_private_key"; 
$resp = recaptcha_check_answer ($privatekey, 
          $_SERVER["REMOTE_ADDR"], 
          $_POST["recaptcha_challenge_field"], 
          $_POST["recaptcha_response_field"]); 

if (!$resp->is_valid) { 
    // What happens when the CAPTCHA was entered incorrectly 
    echo 'wrong'; 
} else { 
    // Your code here to handle a successful verification 
    echo 'correct'; 
} 

/* EOF */ 

모르겠어요. 그리고 당신이 filename.php에서 세션을 시작하는 것을 보지 못했습니다.