Php 根据数据库中的角色重定向到其他页面

Php 根据数据库中的角色重定向到其他页面,php,mysql,redirect,login,Php,Mysql,Redirect,Login,我是PHP新手。我正在尝试创建一个登录页面,该页面将根据角色重定向到不同的页面。他们将使用员工id和密码登录 下面是我的数据库 职员id密码角色 XXX XXX XXX XXX 我的HTML登录页面-->login.HTML 我的登录-->Login2.php的php代码 我已经看到了其他的问题和解决方案,但我仍然不能得到正确的答案。当我登录时,它只是将我指向一个空页面-xx/xx/Login2.php”。我做错了什么 我使用的是PHP5.* 以下是我的php代码: // Connect to

我是PHP新手。我正在尝试创建一个登录页面,该页面将根据角色重定向到不同的页面。他们将使用员工id和密码登录

下面是我的数据库

职员id密码角色

XXX XXX XXX XXX

我的HTML登录页面-->login.HTML 我的登录-->Login2.php的php代码

我已经看到了其他的问题和解决方案,但我仍然不能得到正确的答案。当我登录时,它只是将我指向一个空页面-xx/xx/Login2.php”。我做错了什么

我使用的是PHP5.*

以下是我的php代码:

// Connect to server and select databse.
$db= new mysqli("$host", "$username", "$password");

//check connection
if ($db->connect_errno) {
printf("Connect failed: %s\n", $db->connect_error);
exit();
}

// username and password sent from form
$staff_id=$_POST['staff_id'];
$password=$_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$staff_id = stripslashes($staff_id);
$password = stripslashes($password);
$staff_id = mysql_real_escape_string($staff_id);
$password = mysql_real_escape_string($password);

$sql="SELECT ROLE FROM $tbl_name WHERE STAFF_ID=$staff_id and PASSWORD='$password'";

$rslt= $db -> query($sql);

// Mysql_num_row is counting table row
$count= $db -> affected_rows;

// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){

$row = mysqli_fetch_array($rslt, MYSQLI_ASSOC);


 switch($row["ROLE"])
{
        case 'ADMIN':
        header("location: /test/HTMLPages/Admin-register.html");   
        break;

    case 'MANAGER':
    header("location: /test/HTMLPages/View-report.html");
    break;

    default:
    echo "Wrong staff ID or password";
}
}
?>
要知道,我会尽可能地使用其他代码并修补它

编辑:修正。当然,它不会去任何地方,因为我没有说明数据库名称:D


感谢您的时间:D

您选择了角色,但正如您所说,您在DB中编写了角色,您需要以与您在表中编写atrr相同的方式来编写,就像Fred在评论中所说的那样,在$row['ROLE'中也是如此

switch($row["Role"]){

}
$sql="SELECT Role FROM {$tbl_name} WHERE STAFF_ID={$staff_id} and PASSWORD={$password}";

我不知道您是否没有包含$tbl_name,但是从上面的代码来看,您似乎没有$tbl_name变量

您确定从sql中得到了预期的结果吗?您可以尝试打印($row)切换前查看您拥有的内容。