私はこれを見つけましたRelated entryと他のいくつかの人が、私は非常に私の答えを見つけたので、私は新しい投稿です。私はJavascriptからAjaxを理解してデータベースクエリを実行しようとしています。電子メールが既にデータベースに入っていて、それが返されない場合はtrueを返す場合はfalseを返す必要がありますが、私が間違っていることを理解できないようです。私が最初に試してみたのは、あちこちに乱れて乱雑になってしまう前です。XMLHttpRequestを使用した後でfalseを返す問題
javascript:何があっても真実を返すようです。
innerHTMLの内容はうまく動作し、私は混乱しています。
php:私が知る限り、うまく動作します。
<?php
$email = $_GET['email'];
$cemail = $_GET['cemail'];
$emailvalidstring = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
include('connection.php');
$checkemailquery = "SELECT email FROM users WHERE email='".$email."'";
$checkemailresult = mysql_query($checkemailquery);
// if query failed.
if(!$checkemailresult)
{
$error = mysql_error();
print $error;
exit;
}
//if the query did run, the email exists. Print error and exit.
if(mysql_affected_rows() != 0)
{
echo "r0";
return false;
}
else{
if(preg_match($emailvalidstring, $email) && $email == $cemail)
{
echo "r1";
return true;
}
else if(!preg_match($emailvalidstring, $email) && $email == $cemail)
{
echo "r2";
return false;
}
else if(preg_match($emailvalidstring, $email) && $email != $cemail)
{
echo "r3";
return false;
}
else if(!preg_match($emailvalidstring, $email) && $email != $cemail)
{
echo "r4";
return false;
}
}
?>
HTML:私はそれがすでに使用されている場合は、ユーザーに警告するために、一度、二重のチェックを行う必要があり、その後、サーバー上の第2のチェックが、それはまだ本当であることを確認します。 cemailは確認メールです。
<form id="newaccount" name="newaccount" method="post" action="phpfiles/accountcode.php" onSubmit="return emailvalid()" >
<input type="text" id="email" onBlur="emailvalid()"/>
<input type="text" id="cemail" onBlur="emailvalid()" />
<input type="submit" value="New"/>
</form>
ありがとうございました。私は十分にそれを整えたことを願っています。私はこれではむしろ新しいアイデアを公開しています。
これは完璧に働きました。 – Siriss