管理员只能访问页面,如果声明不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了管理员只能访问页面,如果声明不起作用相关的知识,希望对你有一定的参考价值。

我正试图仅授予管理员访问管理工具的权限。

我想做的事情:会话变量ID,它对于每个用户都是唯一的。首先,我检查了是否有会话,如果没有,则将用户发送到索引,然后如果用户的ID不同于20,则检查管理员“ 20”的唯一性,然后我将索引发送给他。

我的问题:我的陈述不起作用,即使以管理员身份登录,我也会被发送回索引。

我的代码:

<?php 
if(isset($_SESSION['userId']))
    header('Location:index.php?b');

if($_SESSION['userId'] != 20)
      header('Location:index.php?a');


?>

[?a?b用于调试,当我尝试访问我的页面时,我被发送到index.php?a

[当我回显$_SESSION['userId']时,我得到20,所以类型可能有问题吗?(尽管我检查并说!=不应受不同类型的影响)]

谢谢!

答案

您的第一条条件检查条件是否设置了会话(这是正确的),因此它将您重定向到索引。所以你应该做

    if(isset($_SESSION['userId']))
        if($_SESSION['userId'] != 20)
            header('Location:index.php?a');
        
        else
            header('Location:index.php?b');
        

    
另一答案

首先使用session_start()启动会话并检查您的第一个条件,如果设置了会话变量userId,则该条件始终为true。

以上是关于管理员只能访问页面,如果声明不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥 EventSubscriberInterface 不起作用如果我想获得一个 html 页面

transpportrule不起作用

如果全局不起作用,在Python中访问for循环之外的变量?

在 XMLHttpRequest() 之后 PHP 定义不起作用

django root url 不起作用

Openoffice BASIC:分配给按钮的宏在其他计算机上不起作用。