如何在管理员可以访问与管理器相同的页面的位置?

时间:2018-01-17 00:56:26

标签: php

我目前正在努力使“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;
    }
}

1 个答案:

答案 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');
}

在您之前的代码中,如果用户不是管理员,那么即使是管理员,他们仍然会被重定向。