php清空session值_php注销session变量和销毁session详细分析
當(dāng)使用完一個(gè)session變量后,可以將其刪除,當(dāng)完成一個(gè)會(huì)話后,也可以將其銷(xiāo)毀。如果用戶想退出WEB系統(tǒng),就需要為他提供一個(gè)注銷(xiāo)的功能,把他的所有信息在服務(wù)器中銷(xiāo)毀。銷(xiāo)毀和當(dāng)前session有關(guān)的所有的資料,可以調(diào)用session_destory函數(shù)結(jié)束當(dāng)前的會(huì)話,并情況當(dāng)前會(huì)話的所有資源。該函數(shù)的語(yǔ)法格式如下所示:
bool session_destory(void) //銷(xiāo)毀當(dāng)前session有關(guān)的所有資料。
相對(duì)于session_start()函數(shù),該函數(shù)用來(lái)關(guān)閉session的運(yùn)作,如果成功則返回true,銷(xiāo)毀session資料失敗則返回false。但該函數(shù)并不會(huì)釋放當(dāng)前session相關(guān)的變量。也不會(huì)刪除保存在客戶端cookie中的session id。因?yàn)?_SESSION數(shù)組和自定義的數(shù)組在使用上是相同的,所以我們可以使用unset()函數(shù)來(lái)釋放在session中注冊(cè)的單個(gè)變量。如下所以:
unset($_SESSION['username']); //刪除在session中注冊(cè)的用戶名變量
unset($_SESSION['password']); //刪除在session中注冊(cè)的用戶密碼變量
/* http://www.manongjc.com/article/1286.html */
一定要注意,不要使用unset($_SESSION)刪除整個(gè)$_SESSION數(shù)組,這樣將不能再通過(guò)$_SESSION超全局?jǐn)?shù)組注冊(cè)變量了,那如果想要把某個(gè)用戶在session中注冊(cè)的所有變量都刪除,該如何操作呢?我們可以將數(shù)組變量$_SESSION賦值一個(gè)空數(shù)組。如下所示:
$_SESSION=array(); //將某個(gè)用戶在session中注冊(cè)的變量全部刪除。
php默認(rèn)的session是基于cookie的,session id被服務(wù)器存儲(chǔ)在客戶端的cookie中,所以在注銷(xiāo)session時(shí)也需要清除cookie中保存的session id,而完成這一項(xiàng)工作必須借助setCookie函數(shù)完成。在cookie中,保存session id的cookie標(biāo)示名稱(chēng)就是session的名稱(chēng),這個(gè)名稱(chēng)是在php.ini中通過(guò)session.name設(shè)置的,在php中,我們可以通過(guò)session_name()函數(shù)獲取session名稱(chēng)。刪除session id的代碼如下:
if(isset($_COOKIE[session_name()])){ //判斷cookie中是否保存session id
setcookie(session_name(),'',time()-3600); //刪除包含session id的cookie
}
?>
總結(jié):
php注銷(xiāo)session變量和銷(xiāo)毀session注意事項(xiàng):
session_destory()可以銷(xiāo)毀session會(huì)話,但它不會(huì)釋放session變量,我們需要使用unset函數(shù)釋放session變量
使用unset函數(shù)釋放所有session變量時(shí),不能使用unset($_SESSION),而應(yīng)該使用$_SESSION=array();
使用session_destory()銷(xiāo)毀seesion會(huì)話時(shí),我們還必須使用setcookie函數(shù)刪除保存在客戶端cookie里的session id
總結(jié)
以上是生活随笔為你收集整理的php清空session值_php注销session变量和销毁session详细分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 几款不错的Android开源APP效果展
- 下一篇: win2008 php,Windows