私は基本的に小さな登録フォームを作成しようとしています。ユーザー名が既に使用されている場合は「赤」クラスを追加し、そうでない場合は「緑」クラスを追加します。
ここでの PHP は正常に動作し、「YES」または「NO」のいずれかを返して、問題がないかどうかを判断します。
CSS:
input {
border:1px solid #ccc;
}
.red {
border:1px solid #c00;
}
.green {
border:1px solid green;
background:#afdfaf;
}
私が使用しているJavascriptは次のとおりです。
$("#username").change(function() {
var value = $("#username").val();
if(value!= '') {
$.post("check.php", {
value: value
}, function(data){
$("#test").html(data);
if(data=='YES') {
$("#username").removeClass('red').addClass('green');
} if(data=='NO') {
$("#username").removeClass('green').addClass('red');
}
});
}
});
document.ready も持っています...データの値を確認する最後の部分を除いて、 #test div html が「YES」または「NO」に変わるため、すべて正常に機能します。これがphpです:
$value=$_POST['value'];
if ($value!="") {
$sql="select * FROM users WHERE username='".$value."'";
$query = mysql_query($sql) or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($query);
if ($num_rows > 0) {
echo "NO";
} else {
echo "YES";
}
}