簡體   English   中英

會話中的設置無效

[英]isset in Session Won't Work

我創建了一個登錄系統,該系統確定用戶是否使用$_SESSION['logged_in]=true;登錄$_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.
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM