コードに単純な構文エラーがあるはずですが、見つかりません。コードのこのセクションが機能する方法は、システムがユーザー ID が存在するかどうかをチェックするか、フィールドが空のままである場合はエラーを作成することです。問題がなければ、次のフィールドである userName に移動し、同じチェックを実行します。どちらも、対応する値が以前に使用されたかどうかを報告しますが、フィールドが空のままであるかどうかは報告しません。
if($userID != ""){
$sql = "SELECT * FROM tbl_access WHERE userID = '$userID'";
$result = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($result);
if($num_rows == 0){
$error = "User ID not found, please enter your user ID";
}
}
else if($userID == ""){
$error = "Please enter your User ID";
}
else if($username != ""){
$sql = "SELECT * FROM tbl_access WHERE userName = '$username'";
$result = mysql_query($sql) or die(mysql_error());
if(!empty($result)){
$error = "Username already in use, please select a different username";
}
}
else if($username == ""){
$error = "Please enter a username";
}
スクリプトは、ユーザー ID 部分をチェックするときに正常に動作しますが、ユーザー名部分は完全に無視します。それは私の側の単純な構文エラーに違いないと確信していますが、コードの同じ部分を何時間も見つめてきたので、どんな助けも感謝して受け取ります.