我有一个名为users的mysql表,其中包含以下字段:

username - password - role

角色由普通用户和管理员组成。
我想要的是,当管理员登录时,它会被重定向到另一个页面,而不是正常用户登录的同一个页面。我的代码如下:
<?php
include("../includes/db.php");

$username=$_POST['username'];
$password=$_POST['password'];

$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

$sql="SELECT * FROM Users WHERE username='$username' and password='$password' And role = 'normaluser'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){
session_register("username");
session_register("password");
header("location:myaccount.php");
}
?>

我让代码为普通用户工作,但我不知道如何为管理部分编写代码。

最佳答案

我想说

$sql="SELECT role FROM Users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
while ($row = mysql_fetch_object($result)) {
    //one hit i hope?!
    //DONT save your apssword in the session!!!!
    //session_register("username");
    //session_register("password");

    $role = $row->role;

}
if($role == "user"){
    redirect1
}elseif($role == "admin"){
   redirect2;
}else{
  redirect panic
}

关于php - PHP If/Else语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8606492/

10-12 15:04