這篇文章主要講解了“php session刪除會話的方法介紹”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php session刪除會話的方法介紹”吧!
站在用戶的角度思考問題,與客戶深入溝通,找到雞澤網(wǎng)站設(shè)計與雞澤網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋雞澤地區(qū)。
刪除會話,有三個方法
1、unset();
刪除單個會話
<?php
session_register();
$_SESSION["admin"]="aa";
if(!empty($_SESSION['admin'])){
$myvalue=$_SESSION['admin'];
echo $myvalue;
}
//刪除session,一個個地刪除的
unset($_SESSION["admin"]);
echo $_SESSION['admin'];
?>
只能顯示 一個,說明,刪除了session
注意:
unset()不可以一次注銷整個數(shù)組,這樣會禁止整個會話功能 ,
如:unset($_SESSION)將全局變量$_SESSION銷毀,而且沒有辦法將其恢復(fù) ,用戶也不能再注冊 $_SESSION變量,
2、刪除多個會話$_SESSION=array();
//刪除多個會話,把一個空數(shù)組給$_SESSION,把之前的值覆蓋了,這樣并不是將$_SESSION銷毀 ,還可以重新賦值
<?php
session_register();
$_SESSION["admin"]="aa";
$_SESSION['name']="葉凌月";
$_SESSION['age']=16;
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
//刪除多個會話,把一個空數(shù)組給$_SESSION,把之前的值覆蓋了,這樣并不是將$_SESSION銷毀 ,還可以重新賦值
$_SESSION=array();
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
3、結(jié)束當前的會話:
session_destory();
1、出錯 :
<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="葉凌月";
$_SESSION['age']=16;
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
//結(jié)束當前會話
session_destroy($_SESSION);
//session_unset($_SESSION);
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
Wrong parameter count for session_destroy()
錯誤的參數(shù)計數(shù)session_destroy()
原因 :
session_destroy();不需要添加參數(shù) ,注銷代表的是當前 的會話
注意:
使用session_destroy();要與session_start();一起用不然會受到警告
2、出錯,覺得session_destroy();
不起作用,為什么還是會把$_SESSION的值顯示 ,是否是注銷了還保存有一份在cookie里呢,但是沒有創(chuàng)建cookie呀,不管先試試
<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="葉凌月";
$_SESSION['age']=16;
setcookie($_SESSION,"",time()-1);
//結(jié)束當前會話
session_destroy();
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
、
Warning: setcookie() expects parameter 1 to be string, array given
你給傳遞給strlen()的參數(shù)不是string類型的。
改為
結(jié)果還是顯示 了
原因 大解決:
1、session 是一個會話,在session_start() 的時候建立。
2、$_SESSION 是一個全局數(shù)組,和其他的全局數(shù)組沒有任何區(qū)別。只是php在創(chuàng)建一個會話的時候,會順便創(chuàng)建一個全局數(shù)組來保存會話的內(nèi)容,這個數(shù)組又剛好叫$_SESSION,和我們自己去創(chuàng)建的其他數(shù)組沒有什么不一樣。
3、session_start() 執(zhí)行的時候,開啟了會話,首先是如果該會話沒有被創(chuàng)建,則在系統(tǒng)的tmp目錄中創(chuàng)建了session文件(默認,可自定義),并且在當前會話的執(zhí)行腳本創(chuàng)建全局數(shù)組$_SESSION,這時的$_SESSION是一個空數(shù)組。如果會話存在,則讀取session文件中的內(nèi)容,建立$_SESSION數(shù)組。
4、session_destroy() ,手冊中明確的說道:destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.
不會刪除 session 的全局變量和 session相關(guān)cookie,只是結(jié)束了這次會話。作為一個普普通通的全局變量,
如果我們不需要樂得話,就將他 unset() 掉。如果想再次開啟會話,就需要再一次session_start(),但是session_start() 重新建立會話,會重新初始化$_SESSION數(shù)組,session_start()之后$_SESSION 就又是一個空數(shù)組了
<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="葉凌月";
$_SESSION['age']=16;
//結(jié)束當前會話
session_destroy();
?>
<?php
session_start();
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
修改下
總結(jié) :
session_destroy();只是僅僅結(jié)束當前會話,而且是用之前要與session_start();一起用,session_start();是初始化變量$_SESSION相當于清除了數(shù)組里的變量
還有session_destory();與session_unset();得到的結(jié)果不一樣,
要一樣,session_destroy();重新啟動一次,session_start();


感謝各位的閱讀,以上就是“php session刪除會話的方法介紹”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php session刪除會話的方法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
當前題目:phpsession刪除會話的方法介紹
文章出自:http://www.chinadenli.net/article28/ihoecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、小程序開發(fā)、網(wǎng)站策劃、全網(wǎng)營銷推廣、商城網(wǎng)站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)