isset in Session Won't Work


isset in Session Won't Work

我创建了一个登录系统,该系统确定用户是否使用$_SESSION['logged_in]=true;会话码登录。但不知何故,当用户关闭浏览器并返回页面时,它会给他们一个关于会话故障的错误。所以我用的是if(isset($_SESSION['logged_in']==true)){但是当我打开我的网站时它给了我一个错误,说

致命错误:不能对表达式的结果使用isset()(可以使用"null !== expression"代替)

我该如何解决这个问题?

我想你打错字了。而不是

if(isset($_SESSION['logged_in']==true)){ 
使用

if(isset($_SESSION['logged_in'])==true){ 

需要检查会话是否初始化,而不是会话的值。

[编辑]:当你将会话的值分配给true时,最好添加更多对会话值的检查,所以它变成:

if(isset($_SESSION['logged_in'])==true && $_SESSION['logged_in'] == true){ 

像这样修改

if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']==true ){ 
 //do your stuff.
}