zoukankan      html  css  js  c++  java
  • session_unset()和session_destroy()用法分析

    session_unset()和session_destroy()用法分析

    关于session_unset()和session_destroy()的函数使用进行介绍。

    session_unset()
    释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session
    id

    session_destroy()
    删除当前用户对应的session文件以及释放session
    id,内存中的$_SESSION变量内容依然保留

    if (session_destroy())
            {
                ShowMsg(“注销成功!”,’/member/login’);
                exit();
            }
            else
            {
                unset($_SESSION);
                ShowMsg(“注销成功!”,’/member/login’);
                exit();
            }

    因此,释放用户的session所有资源,需要顺序执行如下代码:
    程序代码

    php教程

    $_SESSION['user'] =

    ‘lowell';

    session_unset();

    session_destroy();

    ?>

    另一个网友分析

    session_unregister是注销一个session变量;
    session_destroy是注销所有的session变量,并且结束session会话;
    session_unset()并不注销session变量,但把所有的session变量的值清空.

    那么一般在做退出的操作时可以这样做:

    session_start();
    session_unset();
    session_destroy();
    header(“location:XXX.php”);

    在php中销毁变量有很多不同的方法。如:unset();session_unset();session_destroy();但session变量作为特殊的变量,不同的销毁方式更会产生不同的结果。

    unset()在php3时其使用后会返回一个boolean值,但在php4及以后的版本,其只是一个没有返回值的语句。如果在函数中unset()的一个全局变量或者一个通过引用传递的值,则其只能在局部销毁变量,在调用环境中的变量却会保持调用unset()前一样的值。如果unset一个静态变量,则静态变量及其所有引用都会被销毁。如果想unset一个globals变量则可以借用GLOBALS数组来销毁:unset($GLOBALS['str']);

    unset($_SESSION['str'])则可以删除单个的$_SESSION['str']变量。若使用unset($_SESSION);则删除服务器上的所有SESSION文件

    session_unset()删除当前所有的session值,其结果同session_destroy();

  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/sunscheung/p/4738860.html
Copyright © 2011-2022 走看看