我正在创建一个具有三种不同访问级别的网站
- 0 = 正常
- 1 = 员工
- 2 = 管理员
在登录表单中,我设法检查密码(SHA1)是否与数据库中的密码(已加密)匹配,但没有检查用户 ID。
注册用户或员工/管理员后,他们的详细信息将存储在具有更多详细信息(姓名、出生日期、...)的单独表中。
问题
我将如何在我的代码中实现这一点?
$result = mysql_query( $qs ) or die( mysql_error() ); while( $row = mysql_fetch_array( $result ) ){ $stored_password = $row['Password']; if( $stored_password == sha1( $pw ) ){ $_SESSION['Status'] = $row['Status']; if( $_SESSION['Status'] == 0 ){ echo "<h1>User Menu Loading...</h1>"; echo"<META HTTP-EQUIV='Refresh' Content='1;URL=http://***/'>"; }else{ echo "<h1>Incorrect Password.</h1>"; echo"<META HTTP-EQUIV='Refresh' Content='1;URL=http://**/login.php'>"; } }有没有办法让这三种类型的用户都可以通过登录页面登录并从两个不同的表中检索数据?
我尝试了很多方法,但总是出现空白屏幕,或者它说
密码错误
即使密码正确。
变量
$un = $_POST['User_ID'];
$sf = $_POST['Staff_ID'];
$pw = $_POST['Password'];
$st = $_POST['Status'];
如果没有,那么我认为我应该创建单独的登录区域。
谢谢(我目前正在将mysql更改为mysqli)
编辑
添加了最近尝试的$ qs
$qs="SELECT Cadets.Cadet_ID, Cadets.Password, Cadets.Status,
Staff.Staff_ID, Staff.Password, Staff.Status,
FROM Cadets, Staff
WHERE Cadets.Cadet_ID ='$un' AND Staff.Staff_ID = '$sf'";