本篇文章主要介紹php三種清空session的方式,有興趣的朋友參考下,希望對大家有幫助。
session刪除清空是很講究瞭如果我們定義好可以清除指定變數否則不小心會把所有session都清除掉了,下面我們來看一些總結。
第一種方式:unset($_SESSION['xxx']) 刪除單一session,unset($_SESSION['xxx']) 用來unregister一個已註冊的session變數。
其作用和session_unregister()相同。
session_unregister()在PHP5中已經廢棄。
php 官方刪除session方式
<?php // 初始化session. session_start(); /*** 删除所有的session变量..也可用unset($_SESSION[xxx])逐个删除。****/ $_SESSION = array(); /***删除sessin id.由于session默认是基于cookie的,所以使用setcookie删除包含session id的cookie.***/ if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最后彻底销毁session. session_destroy(); ?>
unset($_SESSION) 此函數千萬不可使用,它會將全域變數$_SESSION銷毀,而且還沒有可行的辦法將其恢復。使用者也不再可以註冊$_session變數。
第二種方式:session_unset() 或$_SESSION=array() 刪除多個session
##第三種方式:session_destroy()結束目前的會話,並清空會話中的所有資源。函式不會unset(釋放)和目前session相關的全域變數(globalvariables),也不會刪除客戶端的session cookie.PHP預設的session是基於cookie的,如果要刪除cookie的話,必須藉助setcookie()函式。
小結:session_destroy是註銷所有的session變數,並且結束session會話;如果希望刪除一些session數據,則可以使用unset()函數或session_destroy( )函數。 unset()函數的作用是釋放指定的session變量,呼叫格式如下:<?php unset($_SESSION['jugelizi']); ?>
<?PHP session_destroy(); ?>
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
php中文網學習專題:php session (包含圖文、影片、案例)
#
以上是php三種清空session的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!