2011-12-22 12 views
1

私のウェブサイトにreCaptchaを実装する際に問題があります。PHPで奇妙なreCaptchaエラー

ここでチュートリアルに従いました:http://code.google.com/apis/recaptcha/docs/php.htmlと私はちょうどエラーメッセージで基本的なreCaptchaを実装しました。ユーザーが間違ったreCAPTCHAのは、ページがリダイレクトし、期待通りのエラーが表示される場合

if (!$resp->isValid) { 
     $_SESSION['badLoginCount'] += 1; 
     $_SESSION['incorrect-captcha'] = true; 
     $_SESSION['incorrect-captcha-error'] = $resp->error; 
     header ('Location: ../../signin.php'); 
     exit; 
    } 

:以下

は、フォームがに提出された私は、ファイルに使用するいくつかのカスタムコードです。しかし、ユーザーが正しいreCaptchaを入力すると、isValidはFALSEと評価され、このブランチを実行しますが、$ resp-> errorには何も含まれていないため、デバッグはほとんど不可能です。

誰もがこれまでに遭遇したことはありますか?私はオンラインで何かを見つけることができません。

+0

recaptcha関数に送られたPOSTフィールドの内容を確認しましたか? – Alfabravo

+0

はい、recaptcha_response_fieldは入力した値を返し、reaptcha_challenge_fieldはハッシュを返します – Tom

+0

http://code.google.com/apis/recaptcha/docs/troubleshooting.html「それは機能していません」を確認してください。あなたのフォームとあなたのキーを確認してください – Alfabravo

答えて

0

すぐに回避策は、$resp->errorが空であるかどうかを確認することです。

if (!empty($resp->error)) { 
    $_SESSION['badLoginCount'] += 1; 
    $_SESSION['incorrect-captcha'] = true; 
    $_SESSION['incorrect-captcha-error'] = $resp->error; 
    header ('Location: ../../signin.php'); 
    exit; 
}