php清除所有session的方法:先註銷所有的Session變數;然後使用session_destroy()函數結束目前的會話,並清空所有的資源,徹底銷毀Session即可。
徹底銷毀session
(推薦教學:php圖文教學)
如果整個Session 會話已經結束,首先應該註銷所有Session 變量,然後使用session_destroy() 函數清除結束目前的會話,並清空會話中的所有資源,徹底銷毀Session,其程式碼如下顯示:
<?php session_destroy(); ?>
session_start( ) 函數用來建立Session 文件,而session_destroy() 函數用來關閉Session 的運作並刪除Session 文件,成功則傳回TURE,失敗則傳回FALSE。但函數並不會釋放和目前 Session 相關的變量,也不會刪除儲存在客戶端 Cookie 中的 Session ID 。
php中預設的Session 是基於Cookie 的,Session ID 被伺服器儲存在使用者瀏覽器的Cookie 中,所以在登出Session 時也需要清除Cookie 中儲存的Session ID,而這必須藉助setcookie () 函數來完成。
(影片教學推薦:php影片教學)
在使用者瀏覽器的Cookie 中,保存Session ID 的Cookie 識別名稱就是Session 的名稱,這個名稱是在php.ini 中,透過session.name 屬性指定的值。在php腳本中,可以透過 session_name() 函數取得 Session 的名稱。刪除儲存在客戶端 Cookie 中的 Session ID。
完整程式碼如下:
<?php //开启 Session session_start(); // 删除所有 Session 变量 $_SESSION = array(); //判断 cookie 中是否保存 Session ID if(isset($_COOKIE[session_name()])) { setcookie(session_name(),'',time()-3600, '/'); } //彻底销毁 Session session_destroy(); ?>
以上是php怎樣清除所有session的詳細內容。更多資訊請關注PHP中文網其他相關文章!