php中删除和销毁Session的方法:当使用完一个 Session 变量后,可以将其删除;当完成一个回话以后,也可以将其销毁,如果用户想退出 Web 系统,就需要为他提供一个注销的功能,把它的所有在服务器中销毁。

删除会话的主要有删除单个会话、删除多个会话和结束当前会话有3种方式,下面就3种方式分别作一个简单的介绍。

(1)删除单个会话

删除单个会话即删除单个会话的变量、同数组的操作一样,直接注销 $_SESSION 数组 的某个元素即可。

例如: $_SESSION['user']变量,可以使用 unset()函数,代码如下所示:unset( $_SESSION['user']);

注意: 使用 unset()函数时,要注意 $_SESSION 数组中元素不能省略,即不可以一次注销整个数组,这样会禁止整个会话的功能,如 unset($_SESSION)函数会将全局变量 $_SESSION 销毁,而且没有办法将其回复,用户也不能再注册 $_SESSION 变量。

如果要删除多个或者全部会话,可采用下面的两种方法。

(2)删除多个会话

如果想把某个用户在 Session 中注册的所有变量都删除,也就是删除多个会话即一次注销所有的会话变量,可以通过将一个空的数组赋值给 $_SESSION来实现,其代码显示如下:$_SESSION = array();

(3)结束当前会话

如果整个会话已经结束,首先应该注销所有会话变量,然后使用 session_destroy()函数清除结束当前的会话,并清空会话中的所有资源,彻底销毁Session,其代码如下显示:session_destroy();

相对于 session_start()函数 (创建 Session 文件),session_destroy()函数用来关闭 Session 的运作 (删除 Session 文件),如果成功则返回 TURE,销毁 Session 资料失败则返回 FALSE。但该函数并不会释放和当前 Session 相关的变量,也不会删除保存在客户端 Cookie 中的 Session ID 。

PHP默认的 Session 是基于 Cookie的,Session ID 被服务器存储在客户端的 Cookie 中,所以在注销 Session 时也需要清除 Cookie 中保存的 Session ID,而这就必须借助 setcookie() 函数来完成。 在 Cookie 中,保存 Session ID 的 Cookie 标识名称就是 Session 的名称,这个名称是在 php.ini中,通过 session.name 属性指定的值。在php脚本中,可以通过 session_name() 函数获取 Session 的名称。 删除保存在客户端 Cookie 中的 Session ID。

前面的讲解可以总结出 Session 的删除和注销过程需要好几个步骤。下面将通过一个实例,提供完整的代码,运行该脚本后就可以关闭 Session,并销毁与本次会话有关的所有资源。

彻底销毁Session代码如下所示:<?php

//开启 Session

session_start();

// 删除所有 Session 变量

$_SESSION = array();

//判断 cookie 中是否保存 Session ID

if(isset($_COOKIE[session_name()])){

setcookie(session_name(),'',time()-3600, '/');

}

//彻底销毁 Session

session_destroy();

?>

注意:使用$_SESSION = array() 清空 $_SESSION数组的同时,也将这个用户在服务器端对应的 Session 文件内容清空。而使用 session_destroy()函数时,则是将这个用户在服务器端对应的 Session 文件删除。相关专题推荐:php session (包含图文、视频、案例)

php 注销session_php中如何删除和销毁Session相关推荐

  1. php session 释放,php中删除Session和销毁Session的方法

    删除某个session值可以使用PHP的unset函数,删除后就会从全局变量$_SESSION中去除,无法访问.session_start(); $_SESSION['name'] = 'jobs'; ...

  2. html点击按钮删除session,Asp.net中安全退出时清空Session或Cookie的实例代码

    概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击 ...

  3. 怎么删除XP中无法删除的文件

    有时候,我们清理Windows XP或2000系统电脑时,会发现一些没有用的文件,想把它删除,可是却怎么都删除不了,怎么办呢?相信很多人都遇到过这样的问题,一般都是以下这几种情况: 1.文件正在被另外 ...

  4. Windows中无法删除文件的解决办法

    Windows中无法删除文件的解决办法 有时候我们在删除某个文件或文件夹时,系统提示无法删除,这确实令人十分头疼,现在我们就来看看解决的办法. 一.常规解决办法: 1.注消或重启电脑,然后再试着删除. ...

  5. C++实现线性顺序表的初始化,插入,删除,销毁,清空等功能

    C++实现线性顺序表的初始化,插入,删除,销毁,清空等功能 以下代码主要严蔚参考敏主编的<数据结构>(C语言)编写 //线性顺序表 #include <iostream> #d ...

  6. Win7中如何删除word模板

    Win7中如何删除word模板 计算机→本地磁盘c盘→用户→Administrator→AppData→Roaming→Microsoft→Templates 转载于:https://blog.51c ...

  7. JAVA中循环删除list中元素的方法总结

    原文:http://www.cnblogs.com/aspirant/p/7900854.html 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天 ...

  8. linux下如何删除整行文本格式,Shell中如何删除文本比较长的行的实现方法

    Shell中如何删除文本比较长的行的实现方法 有的时候需要对文件执行删除删除操作,这个时候比较常用的会使用vi命令中的dd命令,比如先执行10G(跳转到第10行),然后再执行20dd(删除20行),但 ...

  9. 如何在Eclipse中自动删除尾随空格?

    这个问题分为两个部分,其中一个我已经有了答案. 如何从正在编辑的整个文件中自动删除结尾的空格? ->答案:使用AnyEdit插件 ,可以将其设置为在保存到文件时执行此操作. 如何仅从我更改的行中 ...

  10. python 循环中报错 继续运行_python中列表删除和多重循环退出

    在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,10 ...

最新文章

  1. docker-3-常用命令(上)
  2. php程序员应该懂的几个基本概念
  3. javascript取随机数_查缺补漏一些 Javascript 的小技巧笔记
  4. mysql连接失败 ping通_哭~问:oracle 数据库有时会突然连接失败,但能ping通主机...
  5. 经验分享:聊聊多人游戏同步那点事
  6. java将图片(jpg/bmp/png)转16位bmp(RBG565)
  7. HDOJ--2602--Bone Collector--dp--01背包
  8. iOS最新验证电话号码与手机号码的正则方法
  9. maven-将依赖的 jar包一起打包到项目 jar 包中
  10. 从心理学角度看,如何通过故事影响客户的决策?
  11. 劳力埃大学计算机科学,劳里埃大学计算机科学本科.pdf
  12. win10 2016 长期服务版的ISO文件中本身就带有KMS激活KEY
  13. 【算法编程】乘方取模
  14. 微信小程序退出功能(退回到微信)
  15. Win11如何清除最近打开过的文件记录?
  16. vs2015最详细的使用教程(有图)
  17. 反相器下降沿延迟时间计算
  18. 英语----非谓语动词done
  19. python爬虫实战笔记---以轮子哥为起点Scrapy爬取知乎用户信息
  20. RTX3090 windows cuda11.0 cudnn pytorch nightly试用版

热门文章

  1. Java飞机大战超全版(plus版)
  2. linux内核编程4部曲之二:增加linux内核系统调用
  3. 有哪些好的网课软件推荐吗?3款实用学习软件蹭课必备
  4. 国际科学数据服务平台nbsp;-nbsp;csdb
  5. 西南科技大学OJ45 分数求和
  6. SQL注入漏洞-SQL盲注
  7. c语言程序设计教程二进制是什么,C语言程序设计教程
  8. VMWare虚拟机Linux系统忘记登录密码
  9. VAR模型与VECM模型
  10. 华为虚拟机eNSP命令大全(所有命令)