您現在的位置: 365建站網 > 365學習 > php中刪除Session和銷毀Session的方法

php中刪除Session和銷毀Session的方法

文章來源:365jz.com     點擊數:791    更新時間:2018-11-05 13:18   參與評論

刪除某個session值可以使用PHP的unset函數,刪除后就會從全局變量$_SESSION中去除,無法訪問。

session_start();
$_SESSION['name'] = 'jobs';
unset($_SESSION['name']);
echo $_SESSION['name']; //提示name不存在

如果要刪除所有的session,可以使用session_destroy函數銷毀當前session,session_destroy會刪除所有數據,但是session_id仍然存在。

session_start();
$_SESSION['name'] = 'jobs';
$_SESSION['time'] = time();
session_destroy();

值得注意的是,session_destroy并不會立即的銷毀全局變量$_SESSION中的值,只有當下次再訪問的時候,$_SESSION才為空,因此如果需要立即銷毀$_SESSION,可以使用unset函數。

session_start();
$_SESSION['name'] = 'jobs';
$_SESSION['time'] = time();
unset($_SESSION);
session_destroy(); 
var_dump($_SESSION); //此時已為空

如果需要同時銷毀cookie中的session_id,通常在用戶退出的時候可能會用到,則還需要顯式的調用setcookie方法刪除session_id的cookie值。

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刪除name的session值。

<?php
session_start();
$_SESSION['name'] = 'jobs';
//在這里刪除name的session值
unset($_SESSION['name']);
if (isset($_SESSION['name'])) {
    echo $_SESSION['name'];
    return;
}
  echo 'session被銷毀';

徹底銷毀Session代碼如下所示:

<?php
  //開啟 Session
  session_start();
  // 刪除所有 Session 變量
  $_SESSION = array();
  //判斷 cookie 中是否保存 Session ID
   if(isset($_COOKIE[session_name()])){
     setcookie(session_name(),'',time()-3600, '/');
  }
  //徹底銷毀 Session
  session_destroy();
?>


注意:使用 $_SESSION = array() 清空 $_SESSION數組的同時,也將這個用戶在服務器端對應的 Session 文件內容清空。而使用 session_destroy()函數時,則是將這個用戶在服務器端對應的 Session 文件刪除。

session_destroy()結束當前的會話,并清空會話中的所有資源。該函數不會unset(釋放)和當前session相關的全局變量(globalvariables),也不會刪除客戶端的session cookie.PHP默認的session是基于cookie的,如果要刪除cookie的話,必須借助setcookie()函數。

小結:

session_destroy是注銷所有的session變量,并且結束session會話;

如果希望刪除一些session數據,則可以使用unset()函數或session_destroy()函數。unset()函數的作用是釋放指定的session變量,


如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇


發表評論 (791人查看,0條評論)
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
用戶名: 驗證碼: 點擊我更換圖片
最新評論
------分隔線----------------------------
自拍偷拍福力视频,偷拍国际精品,麻豆一区福利电影,国产网红视频午夜福利,se视频大全,久久国产AV影院 亚洲乱码中文字幕综合234| 日本免费一二三区中文| 年轻的护士4在线观看视频| 好涨好硬好爽免费视频| 久久无码中文字幕久久无码| 亚洲欧美日韩偷拍综合一区| 五十老熟妇乱子伦免费观看| 10后呦女交| 被多人强奷很舒服好爽好爽| 九九漫画网| 9久精品久久综合久久超碰| 香港三级日本三级三级韩级| 伊人依成久久人综合网| 肉动漫无遮挡在线观看无修图| 大量偷拍情侣自拍视频| 日本强伦姧人妻完版| 无遮挡18禁羞羞漫画免费| 女神被啪到深处娇喘在线观看| 一区二区三区高清视频| 天天操天天干天天操视频| 中国熟妇牲交视频| 久热香蕉在线视频免费| 自拍偷自拍亚洲精品| 免费两性的视频网站| 苍井空一区二区波多野结衣| 韩国激情电影| 日本古代十大酷刑qvod| 国产乱理伦片在线观看| 国产超碰人人模人人爽人人喊| 久久影音先锋最新资源网| 最新理论三级在线观看| http://www.tmskgjsp.com