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']); ?>
session_destroy()函数的作用是将session全部删除,调用格式如下:
<?PHP session_destroy(); ?>
提示:session_destroy()会重新设置session,你会丢失所有已保存的session数据。
session_unset()并不注销session变量,但把所有的session变量的值清空。
以上内容就是本文的全部叙述了,希望大家有所帮助。
相关文章
php大小写转换函数(strtolower、strtoupper)用法介绍
strtoupper() 函数把字符串转换为大写而strtolower函数: 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串。下面通过本文给大家分享php大小写转换函数(strtolower、strtoupper)用法,需要的朋友参考下吧2017-11-11
laravel-admin 添加、编辑按钮支持携带参数的解决方法
通过修改源码实现laravel-admin添加、编辑按钮支持携带参数,解决一些特殊功能需求,并且不影响之前添加和编辑程序运行,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧2023-11-11
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
这篇文章主要介绍了ThinkPHP模板中判断volist循环的最后一条记录的验证方法,需要的朋友可以参考下2014-07-07
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
这篇文章主要介绍了php操作MongoDB简明教程,包括连接、新增、修改、删除、查询等,需要的朋友可以参考下2014-03-03


最新评论