次のメソッドを使用してphpを呼び出しています:
function validateEmaiAjax(email){
val = null;
$("#warning").load("https://localhost/Continental%20Tourism/register_ajax.php",{email: email}, function(rspns, stat, xml){
val = rspns;
});
if(val == ".")
return true;
else {
return false;
}
}
私のphpコードは次のとおりです。
<?php
$dbc = mysqli_connect("localhost","root","pass","continental_tourism") OR die(mysqli_connect_error());
$email = $_REQUEST['email'];
$query = "SELECT email FROM customer_info WHERE email = '$email' ";
$r = mysqli_query($dbc, $query) OR die(mysqli_error($dbc));
if(mysqli_num_rows($r) > 0)
echo "Email address exists!";
else
echo ".";
?>
基本的に、これはデータベースをチェックし、電子メールが存在する場合は「電子メールアドレスが存在します!」と表示されます。そうでない場合はreturn true
(だから「.」をエコーして比較します)。奇妙なことは、プログラムの近くでfirebugを使用してブレークポイントを配置すると、if(val == ".")
正しく動作し、trueを返すことです。そのブレークポイント関数を削除すると、常に false が返されます。なぜこれが起こるのか理解できません。助けてください!ありがとう。