php中删除、清空session的方式总结
2015-10-09 00:00
603 查看
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第一季视频教程.李炎恢.学习笔记(一)(第1章 PHP概述(1)、(2)、(3))
- php 二维数组赋值的 问题,求大神指教
- PHP MYSQL命令
- WINDOWS中设置计划任务执行PHP文件
- php使用curl的post方法字符串和数组传值的区别
- Laravel数据库操作
- PHP实现html生成pdf、html生成图片 利用wkhtmltox,wkhtmltopdf扩展
- php——composer 1、安装使用
- thinkphp小技巧
- ubuntu14.04中php-fpm的问题
- LTP算子
- php发送get、post请求的几种方法
- thinkphp模板的详细知识
- MAC安装并破解PhpStorm-9.0.2 记录(附下载链接)
- ThinkPHP 的一些知识
- 关于PHP中func_get_args()、func_get_arg()、func_num_args()的使用(PHP函数重载)
- php 通过txt文件将数据装填入数据库
- PHP数组的操作
- Thinkphp控制volist的循环次数,限制只显示部分数据
- 此文为转载,虽然写的是PHP,但是思路同样值得javaer参考!