php中刪除、清空session的方式總結(jié)
session刪除清空是很講究了如果我們定義好可以清除指定變量否則不小心會把所有session都清除掉了,下面我們來看一些總結(jié)。
第一種方式:unset($_SESSION['xxx']) 刪除單個session,unset($_SESSION['xxx']) 用來unregister一個已注冊的session變量。
其作用和session_unregister()相同。
session_unregister()在PHP5中已經(jīng)廢棄。
php 官方刪除session方式
<?php
// 初始化session.
session_start();
/*** 刪除所有的session變量..也可用unset($_SESSION[xxx])逐個刪除。****/
$_SESSION = array();
/***刪除sessin id.由于session默認(rèn)是基于cookie的,所以使用setcookie刪除包含session id的cookie.***/
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// 最后徹底銷毀session.
session_destroy();
?>
unset($_SESSION) 此函數(shù)千萬不可使用,它會將全局變量$_SESSION銷毀,而且還沒有可行的辦法將其恢復(fù)。用戶也不再可以注冊$_session變量。
第二種方式:session_unset() 或者 $_SESSION=array() 刪除多個session
第三種方式:session_destroy()結(jié)束當(dāng)前的會話,并清空會話中的所有資源。該函數(shù)不會unset(釋放)和當(dāng)前session相關(guān)的全局變量(globalvariables),也不會刪除客戶端的session cookie.PHP默認(rèn)的session是基于cookie的,如果要刪除cookie的話,必須借助setcookie()函數(shù)。
小結(jié):
session_destroy是注銷所有的session變量,并且結(jié)束session會話;
如果希望刪除一些session數(shù)據(jù),則可以使用unset()函數(shù)或session_destroy()函數(shù)。unset()函數(shù)的作用是釋放指定的session變量,調(diào)用格式如下:
<?php unset($_SESSION['jugelizi']); ?>
session_destroy()函數(shù)的作用是將session全部刪除,調(diào)用格式如下:
<?PHP session_destroy(); ?>
提示:session_destroy()會重新設(shè)置session,你會丟失所有已保存的session數(shù)據(jù)。
session_unset()并不注銷session變量,但把所有的session變量的值清空。
以上內(nèi)容就是本文的全部敘述了,希望大家有所幫助。
相關(guān)文章
Yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作
yii2.0框架是PHP開發(fā)的一個比較高效率的框架,集合了作者的大量心血,下面通過用戶為例給大家詳解yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作2015-11-11
PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(五)
這篇文章主要介紹了PHP網(wǎng)頁游戲Xnova(ogame)源碼解讀游戲主界面,需要的朋友可以參考下2014-06-06
php 實現(xiàn)簡單的登錄功能示例【基于thinkPHP框架】
這篇文章主要介紹了php 實現(xiàn)簡單的登錄功能,結(jié)合實例形式分析了基于thinkPHP框架登錄功能視圖與控制器簡單實現(xiàn)技巧,需要的朋友可以參考下2019-12-12
PHP+MySQL投票系統(tǒng)的設(shè)計和實現(xiàn)分享
php投票系統(tǒng)的設(shè)計和實現(xiàn),需要的朋友可以參考下代碼與數(shù)據(jù)庫結(jié)果設(shè)計,最后腳本之家提供了源碼下載2012-09-09

