PHP登录身份验证问题(初学者) - php

场景是我在该站点上具有不同的访问级别,我的简单登录过程适用于所有有效用户,但是我现在试图针对不同的页面访问来区分不同的用户。

这是页面开头的代码:

// CHECKS IF THE USER HAS LOGGED IN
session_start();

if(!isset($_SESSION['logged_in']) || !$_SESSION['logged_in']){
   header("location:index.php");
}

if(!$_SESSION['mystatus']=='1'){
   header("location:access_error.php");
}

因此,基本上,我希望只有登录级别为1的用户才能登录此页面,但是他们没有正确的访问级别来直接引导他们。

目前,它允许以不同访问级别(例如3)登录的用户仍然可以查看此页面。

请帮助。

非常感谢,

参考方案

!$_SESSION['mystatus'] == 1将被解释为(!$_SESSION['mystatus']) == 1。由于$_SESSION['mystatus']包含非虚假值(例如1和3),因此它的计算结果为true !true变成false,因此false == 1不匹配。

使用NOT EQUAL运算符(!=):

$_SESSION['mystatus'] != 1

php session header()重定向后丢失 - php

这是我第一次尝试创建会话。另外,成功登录后,我使用header()函数重定向页面,但是在重定向的页面上,我不再有会话。有代码:建立工作阶段:function userLogin($user){ session_start(); $_SESSION['username'] = $user; header("Location: /~…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP Memcached会话突然失效 - php

session.save_handler = memcached session.save_path = "127.0.0.1:11211" session.gc_maxlifetime = 86400 其余的标准。我希望自上次用户访问该页面以来,该会话至少可以保留86400秒,即,如果我在5分钟后启动了一个会话并访问了该页面,则该会话应…