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

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变量的值清空。

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

(0)

相关推荐

  • Asp.net中安全退出时清空Session或Cookie的实例代码

    概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击退出后清空相应的Session或Cookie. 清空Session的代码: Session.Clear(); Session.Abandon(); 清除Cookie的正确代码(假设Cookie名称为UserInfo): if (Request.Cookies["UserInfo"] !=

  • jsp获取action传来的session和session清空以及判断

    jsp获取action传来的session值问题有一下几种方法: 比如我action中有个session ("sessionid","sessionValue") 一.用struts标签获取:<s:property value="#session.sessionid"/> 二.<%=request.getSession.getAttribute("sessionid");> session也是内置对象之

  • asp.net清空Cookie的两种方法

    asp.net清空Cookie的两种方法 第一种 Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0; 第二种 Response.Cookies["admin"].Expires = DateTime.Now.AddDays(-1);

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

    session删除清空是很讲究了如果我们定义好可以清除指定变量否则不小心会把所有session都清除掉了,下面我们来看一些总结. 第一种方式:unset($_SESSION['xxx']) 删除单个session,unset($_SESSION['xxx']) 用来unregister一个已注册的session变量. 其作用和session_unregister()相同. session_unregister()在PHP5中已经废弃.  php 官方删除session方式 <?php // 初始

  • vue中使用keep-alive动态删除已缓存组件方式

    目录 项目场景 问题描述 解决方案 项目场景 在做后台管理系统的时候,有这样一个需求: 后台的界面如下: 点击左边的菜单,会在右边的顶部生成一个个tag导航标签.当打开多个tag页时,用户可以在多个tag之间进行切换.需要在新增,修改页面切换tag时候,保留之前的信息,不进行页面的刷新. 问题描述 经过查询vue文档,可以使用keep-alive实现标签路由缓存,实现方式如下: 在路由配置的meta中添加keepAlive,如下: { path: '/actdebt', component: L

  • 关于PHP session 存储方式的详细介绍

    PHP为sesion的存储提供了三种方式: 文件/ 内存/ 自定义存储,默认是使用文件存储.在访问量大的网站上采用这种方式就不大合适,因为这样会导致大量的输入输出的冗余.下面介绍一种基于Mysql数据库的session存储方式.首先要进行的配置如下:1>php.ini中将session.save_handler = files 中的files改为User,其他默认即可,重启Apache(好像没改也行啊)2>本实例创建的数据库名叫php,    username: root        pas

  • 解析PHP的Yii框架中cookie和session功能的相关操作

    Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo

  • 详解PHP中cookie和session的区别及cookie和session用法小结

    具体来说 cookie 是保存在"客户端"的,而session是保存在"服务端"的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间. session 一种类似散列表的形式保存信息, 当程序需要为某个客户端的请求创建一个

  • 如何让thinkphp在模型中自动完成session赋值小教程

    相信用过thinkphp的用户都知道thinkphp的模型可以完成很多辅助功能,比如自动验证.自动完成等,今天在开发中遇到自动完成中需要获取session值 然后自动赋值的功能,具体看代码: class ArticlelModel extends Model { protected $_auto = array ( array('addtime','time',1,'function'), array('username','getName',1,'callback') ); //这个函数获取s

  • PHP中cookie和session的区别实例分析

    cookie和session是PHP程序设计中非常重要的技巧.深入理解并掌握cookie和session的应用是进行PHP程序设计的基础.本文就以实例形式来分析一下二者之间的区别.具体分析如下: 1.Cookie cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似.   1.1 设置cookie:     可以用

  • Java中Cookie和Session详解及区别总结

    目录 会话技术 Cookie 概念 快速入门 实现原理 cookie的细节 Cookie的特点和作用 案例:记住上一次访问时间 分析 代码实现 Session 概念 快速入门 原理 细节 Session的特点 Session与Cookie的区别 会话技术 会话:一次会话中包含多次请求和响应. 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie 服务器端会话技术:Session Cookie

  • 在AngularJS框架中处理数据建模的方式解析

    我们知道,AngularJS并没有自带立等可用的数据建模方案.而是以相当抽象的方式,让我们在controller中使用JSON数据作为模型.但是随着时间的推移和项目的成长,我意识到这种建模的方式不再能满足我们项目的需求.在这篇文章中我会介绍在我的AngularJS应用中处理数据建模的方式. 为Controller定义模型 让我们从一个简单的例子开始.我想要显示一个书本(book)的页面.下面是控制器(Controller): BookController app.controller('Book

随机推荐