西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > php教程 >

php中session删除清空方法总结

时间:2016-09-20 11:32来源:未知 作者:好模板 点击:
前段时间在做一个中奖的活了,其中就用到中奖之后把数据写入session 然后再由用户进行数据提交验证了,下面我们要介绍的不是那个例子而一个差不多例子了,具体如下。 登录页面是

session删除清空是很讲究了如果我们定义好可以清除指定变量否则不小心会把所有session都清除掉了,下面我们来看一些总结.

1、unset($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量,其作用和session_unregister()相同.

session_unregister()在php5中已经废弃.

<?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变量.

2、session_unset() 或者 $_SESSION=array() 删除多个session

3、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变量的值清空.

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容