管理员只能访问页面,如果声明不起作用
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 页面
如果全局不起作用,在Python中访问for循环之外的变量?