我创建了一个登录系统,用于确定用户是否使用$_SESSION['logged_in]=true;
会话代码登录。但不知何故,当用户关闭他/她的浏览器并返回页面时,它会给他们一个关于会话故障的错误。所以我使用了if(isset($_SESSION['logged_in']==true)){
但是当我打开我的网站时,它给我一个错误说
致命错误:不能对表达式的结果使用isset()(可以使用“null!== expression”代替)
我该如何解决这个问题?
答案 0 :(得分:2)
我认为你有一个错字。而不是
if(isset($_SESSION['logged_in']==true)){
使用
if(isset($_SESSION['logged_in'])==true){
您需要检查会话是否最初设置,而不是会话的值。
[编辑]:
当您将会话的值分配给true
时,最好添加更多会话值的检查,因此它变为:
if(isset($_SESSION['logged_in'])==true && $_SESSION['logged_in'] == true){
答案 1 :(得分:2)
像这样改变,
if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']==true ){
//do your stuff.
}