我需要一個 php 文件,如果用戶嘗試登錄,該 php 文件將獲取用戶名和密碼,如果正確,它將繼續(xù)檢查狀態(tài),如果用戶的帳戶已被批準或仍在等待中。因此,如果用戶的帳戶被批準,它將打印“1”,如果仍在等待中,它將打印“2”,如果用戶的用戶名和密碼不正確,它將只打印“3”。問題是在 PHP 文件檢查用戶的用戶名和密碼后,它應該再次檢查數(shù)據(jù)庫,如果該帳戶已首先批準或仍在進行中,則在打印“1”或“2”之前<?php$user_name = filter_input(INPUT_POST, "user_name");$user_pass = filter_input(INPUT_POST, "user_pass");$mysqli = new mysqli("server", "username", "password", "db");$result = mysqli_query($mysqli, "SELECT * FROM user_info WHERE user_name='$user_name' AND user_pass = MD5('".$user_pass."')");if ($data = mysqli_fetch_array($result)){ $status = mysqli_query($mysqli, "SELECT `status` FROM `user_info` WHERE `user_name`='$user_name'"); $data2 = mysqli_fetch_object($status); if ($data2 = "Approved") { echo '1'; } else if ($data2 = "Pending") { echo '2'; }} else {echo '3';}?>
1 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
您不需要進行兩次查詢。$data包含用戶的行,因此您可以在那里檢查狀態(tài)。
<?php
$user_name = filter_input(INPUT_POST, "user_name");
$user_pass = filter_input(INPUT_POST, "user_pass");
$mysqli = new mysqli("server", "username", "password", "db");
$result = mysqli_query($mysqli, "SELECT * FROM user_info WHERE user_name='$user_name' AND user_pass = MD5('".$user_pass."')");
if ($data = mysqli_fetch_array($result)){
if ($data['status'] == 'Approved') {
echo '1';
} else if ($data['status'] = "Pending") {
echo '2';
}
} else {
echo '3';
}
?>
- 1 回答
- 0 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消