我正在使用ajax函數來返回不同類型的登錄值。 而我試圖避免3種問題:用if-else返回ajax
1 - 如果用戶的登錄是錯誤的
2 - 如果用戶的SN是錯誤的
3 - 如果用戶的密碼是錯誤的
在我的PHP文件,我搜索是否存在的數據,如果沒有,我會送一個類型的錯誤這是沒有找到一個:
$connect = new database();
$info = mysql_query("SELECT * FROM myinfo WHERE myinfo.user_login = '$login_user'");
if (mysql_num_rows($info) == 0) {
echo 'error_login';
}
$info2 = mysql_query("SELECT * FROM myinfo WHERE myinfo.user_sn = '$sn_user'");
if (mysql_num_rows($info2) == 0) {
echo 'error_sn';
}
$info3 = mysql_query("SELECT * FROM myinfo WHERE myinfo.user_pw = '$user_pw'");
if (mysql_num_rows($info3) == 0) {
echo 'error_pw';
}
我的AJAX可以接收三個不同的迴應:
$.ajax({
url: "includes/enter.php",
data: {
login_user: $("#login").val(),
sn_user: $("#sn").val(),
user_pw: $("#pw").val()
},
success:function(response)
{
if(response == "error_login")
{
alert("Invalid login!");
}
else if(response == "error_sn")
{
alert("Invalid SN!");
}
else if(response == "error_pw")
{
alert("Invalid password!");
}
else
{
alert("Success!");
}
}
});
由於Cpt.Kangar00說,我用「==」(並已編輯)。我的主要問題是,我使用echo
而不是echo json_encode("error")
'='是賦值運算符。 '=='是比較運算符。檢查您的條件是否 – abhishekkannojia
如果我向您發送我的用戶名和密碼,您的代碼將檢查是否存在a)具有我的用戶名的某些用戶和b)具有我的密碼的一些(不同的)用戶,而不是「具有我的用戶名的用戶也有我發送的密碼「。 – James
可能不是你的問題,但爲什麼將數據存儲在單獨的表中? – chris85