メールがすでに受信されているかどうかを確認する方法は?私はスクリプトを見つけましたが、それは "チェック.."だけを表示し、電子メールが存在すれば正確な結果を得ることはできません。あなたはコードを持っている以下:あなたのPHPファイルで送信する前にメールを確認しない
<span id="usernamestatus"></span>
<input type="text" onblur="checkusername()" id="sign_up_email_input_first" name="email_sign_up" placeholder="E-Mail">
function checkusername() {
var status = document.getElementById("usernamestatus");
var u = document.getElementById("sign_up_email_input_first").value;
if (u !="") {
status.innerHTML = 'checking...';
var hr = new XMLHttpRequest();
hr.open("POST", "name_check.php", true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlendcoded");
hr.onreadystatechange = function(){
if (hr.readyState == 4 && hr.status ==200) {
status.innerHTML = hr.responseText;
}
}
var v = "name2check="+u;
hr.send(v);
}
}
name_check.php
if(isset($_POST['sign_up_email_input_first']) && $_POST['sign_up_email_input_first'] != "") {
$username = $_POST['sign_up_email_input_first'];
$sql_name_check = mysql_query("SELECT id FROM users WHERE email = '$username' LIMIT 1");
$uname_check= mysql_num_rows($sql_name_check);
if(strlen($username)<4){
echo "You have invalid e mial adress";
exit();
}
if($uname_check <1){
echo "<strong>". $username. "</strong> Is OK";
exit();
}else{
echo "<strong>" .$username. "</strong> is taken!";
exit();
}
}
*具体的には*このコードは期待どおりに機能していませんか?デバッガでステップバイステップを実行すると、観測された動作と期待される動作との違いはどこですか?何が起こったときのランタイム値ですか?また、このコードは** SQLインジェクション**への*オープンなオープンなので、文字通りデータベース内の* anything *を実行することができます。また、データベース問合せを実行した後に常に行うべきエラーをチェックしていません。データベース*は、問題の内容を伝えているかもしれません。 – David