これが重複していないことを願っています。私が読んだ他の同様の質問は、私の問題を解決するのに役立ちませんでした。
ユーザーが送信した CAPTCHA 値を検証するために使用される PHP スクリプトへの jQuery Ajax 呼び出しから、空白の応答 (つまり、data = "") を受け取りました。CAPTCHA にCryptographpを使用していますが、期待どおりに動作するため、Ajax 呼び出しまたは PHP スクリプトのエラーである可能性が高いと考えています。
正しい POST 値を示す Firebug (「コード」は、テストするために送信された CAPTCHA 値です):
code a
email a@a.com
emailtext a
firstname a
lastname a
phone
フォームを送信するかどうかを決定するために onsubmit を呼び出す Ajax 関数:
function validateCaptcha()
{
// Assume an invalid CAPTCHA
var valid = false;
// The form containing the CAPTCHA value
var data_string = $('form#emailform').serialize();
// Make the Ajax call
$.ajax({
url: "captcha.php",
data: data_string,
type: "POST",
async: false,
success: function (data) {
if (data == "true")
{
valid = true;
}
alert ("data: " + data);
}
});
return valid;
}
キャプチャ.php
<?
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
// Begin the session
session_start();
//Check if CAPTCHA values match
if(chk_crypt($_POST["code"]))
return true;
else
return false;
?>
上記のスニペットは単に「true」または「false」の応答を返すはずですが、そうではない可能性があります。
私のエラーを指摘する助けがあれば大歓迎です!