我目前正在努力使“ADMIN”用户类型能够访问“Manager”用户类型页面。但是管理员无法访问该页面,除非其用户类型是Manager。关于如何解决这个问题的任何想法?
这是我的代码:
<?php
include('../blue/functions.php');
if (!isManager()) {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
?>
<h1> Welcome Manager! </h1>
我也尝试过这样但没有任何效果。
if (!isManager ()) {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
if (!isAdmin()) {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
这是我的功能代码:
function isAdmin() {
if (isset($_SESSION['user']) && $_SESSION['user']['user_type'] == 'admin' ) {
return true;
} else{
return false;
}
}
function isManager() {
if (isset($_SESSION['user']) && $_SESSION['user']['user_type'] == 'Manager') {
return true;
} else{
return false;
}
}
答案 0 :(得分:0)
试试这个:
if (!isManager() || !isAdmin()) {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
或更好:
if (isManager() || isAdmin()) {
?>
<h1> Welcome Manager! </h1>
<?php
} else {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
在您之前的代码中,如果用户不是管理员,那么即使是管理员,他们仍然会被重定向。