• 技术文章 >php教程 >php手册

    php中删除、清空session的方式总结,phpsession

    2016-06-13 08:54:06原创863

    php中删除、清空session的方式总结,phpsession


    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, '//m.sbmmt.com/m/');
         }
         // 最后彻底销毁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变量的值清空。

    以上内容就是本文的全部叙述了,希望大家有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php session session
    上一篇:PHP 9 大缓存技术总结,php大缓存总结 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php mysql 数据库类• PHP代码:Http断点续传的实现例子• 基于php实现七牛抓取远程图片• php5.3,5.4,5.5,5.6 中新特性• ThinkPHP控制器里javascript代码不能执行的解决方法,thinkphpjavascript
    1/1

    PHP中文网