关于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();

简单来说

session_unset()
释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id。
session_destroy()
删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留。

session_unset和session_distory的更多相关文章

  1. 默认时,销毁会话,session_unset, session_destory

    <?php /** 一般我们登录时,开启了会话,就会自动生成 session 有关的文件, 保存有相关的用户登录信息,所以正常情况下得退出登录, 同时也要清空 session 有关的文件和相关的 ...

  2. session_unset 与 session_destroy 区别

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

  3. session_unset,session_destroy

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

  4. session_destroy()和session_unset()的理解

    session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,但是但是 内存中的$_SESSIO ...

  5. php 基础代码大全(不断完善中)

    下面是基础的PHP的代码,不断完善中~ //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线 ...

  6. PHP7函数大全(4553个函数)

    转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcsla ...

  7. 使用 JSONP 实现简单的 SSO 单点登录

    SSO 即 Single Sign On(单点登录).  一.二级域名之间的单点登录 不需要用到JSONP 或者 p3p 协议,直接使用 COOKIE 就行了,因为顶级域名相同就能实现 COOKIE ...

  8. 两千行PHP学习笔记

    亲们,如约而至的PHP笔记来啦~绝对干货! 以下为我以前学PHP时做的笔记,时不时的也会添加一些基础知识点进去,有时还翻出来查查. MySQL笔记:一千行MySQL学习笔记http://www.cnb ...

  9. thinkphp里的session、cookie方法

    thinkphp里,对于session和cookie的操作,不管是存值.获取.删除,均只有一个方法.现分享出来,供大家参考参考. /** * session管理函数 * @param string|a ...

随机推荐

  1. pycharm的第一次使用(其实并不是第一次)

    file --> settings --> editor -->general --> change font size file --> settings --> ...

  2. swagger使用详解

    1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...

  3. Google Fuchsia

    Fuchsia是Google开发的操作系统[1].和以前Google开发的操作系统,如基于Linux内核的Chrome OS和Android等不同,Fuchsia基于新的名为Zircon的微内核[2] ...

  4. 深度探索C++对象模型读书笔记-第七章站在对象模型的尖端

    Template 模板是在编译时期而非执行时期被计算的.因此其不会带来效率的降低. 1: const Point<float> &ref = 0; 该语句会实例化一个Point的f ...

  5. js实现截取字符串后几位

    var strs ="wdsdabcdefages" strs.substring(obj.filename.lastIndexOf("a")+1,strs.l ...

  6. thinkphp 上传安全

    网站的上传功能也是一个非常容易被攻击的入口,所以对上传功能的安全检查是尤其必要的. 大理石平台支架 系统提供的上传类Think\Upload提供了安全方面的支持,包括对文件后缀.文件类型.文件大小以及 ...

  7. C++——函数模板和类模板

    声明: //template 关键字告诉C++编译器 我要开始泛型了.你不要随便报错 //数据类型T 参数化数据类型 template <typename T> void myswap(T ...

  8. NOIp2018集训test-9-17(pm)

    T1记忆(memory) 我大概是只记忆只有七秒的金鱼吧.看了下以前的代码发现真的很简单,但是考场上只打了个暴力,虽然骗了88pt.就是枚举选的是哪个串,然后vis[i]表示选了i这些位能不能猜出它, ...

  9. NX二次开发-UFUN创建固定的基准平面UF_MODL_create_fixed_dplane

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN ...

  10. 如何优雅的使用Objects.requireNonNull(T obj, String message)定制你的NPE异常

    IDEA中习惯跟踪源码实现逻辑,多次碰到Objects.requireNonNull(T obj)这个方法,改方法主要用于提早判断对象是否为空,以便更早的抛出NPE 平时小组开发中强调程序健壮性,不允 ...