2012-12-27 2 views
0

내 웹 사이트에서 양식을 사용하여 reCaptcha를 작동시키고 자 노력하고 있는데 어떤 이유로 든 잘못된 captcha가 입력되었다는 오류가 계속 발생합니다. 누구든지 내 코드에 문제가있는 것을 본 적이 있습니까? 여기 PHP reCaptcha가 유효성을 검사하지 않습니다

require_once('includes/recaptchalib.php'); 

$publickey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
$privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 

if (isset($category)) { 
    if ($edit == 'edit') { 
    include "includes/updatelisting.php"; 
    } else { 
    $response = recaptcha_check_answer($privatekey, 
     $_SERVER["REMOTE_ADDR"], 
     $_POST["recaptcha_challenge_field"], 
     $_POST["recaptcha_response_field"]); 

     if ($response->is_valid) { 
       include "includes/insertlisting.php"; 
     } else { 
     echo "Eh, That wasn't right. Try Again."; 

     } 
    } 

} else { 

// Display the reCaptcha form 
    echo recaptcha_get_html($publickey, $error); 
+0

도움이 될만한 질문이 있으시면 https://developers.google.com/recaptcha/docs/php – Class

+0

다른 사람에게 $ response-> error를 추가하지 않으셔도됩니다. 오류가 있습니다. 위의 링크에서 – Class

+0

을 찾았습니다. '$ error - string. 선택 사항 (기본값은 null) \t이 문자열을 설정하면 reCAPTCHA 영역에 주어진 오류 코드가 표시됩니다. 이 오류 코드는 ReCaptchaResponse -> $ error'에 있습니다. $ error를 제거하려고 할 수 있습니다. – Class

답변

0

당신이 echo recaptcha_get_html($publickey, $error); 전화 이미 $error 선언 있었나요 .. 실제 형태의 코드?

먼저 선언 할 수 있습니다 (그리고 예, 그것은 하나 개의 공간을 가진 문자열 만들기) :

$error = ' '; 
echo recaptcha_get_html($publickey, $error); 

또한, $category 정말 확인하기 전에 설정되어 있는지 확인합니다.

+0

예, 둘 다 맞습니다. $ error가 선언되고 $ category가 설정됩니다. 코드에 아무런 문제가 없다면 어떤 이유로 공개 키 또는 비공개 키가 작동하지 않는다고 의심 할 수 있습니다. – Budove

+0

@Budove 다른 모든 것이 잘 보이고 응답을 처리하기위한 구문이 옳습니다. 문제가 무엇인지 모릅니다. 객체 자체를보기 위해'print_r ($ response)'를 해 보았습니까? – Stegrex

+0

print_r ($ response) 출력은 ReCaptchaResponse 객체입니다 ([is_valid] => [error] => 잘못된 captcha-sol) – Budove

관련 문제