PHP中SESSION的注销与清除

yipeiwu_com6年前PHP代码库

1、每个页面都必须开启session_start()后才能在每个页面里面使用session。

2、session_start()初始化session,第一次访问会生成一个唯一会话ID保存在客户端(是基于cookie保存的),用户下次访问时,session_start()会检查有没有会话ID,如果有浏览器会带着这个会话ID过来(通过发送头文件传过来的,这个可以用ff浏览器看到)来确定客户端。

3、给于cookie的session会在客户端保存一个会话ID即session_id,这个可以通过打印cookie看到,这个session_id的键值为session_name,
session_id() == $_COOKIE[session_name()]

4、如果客户端禁用了cookie,则必须用url传递session_id即给予URL的SESSION

5、注销SESSION时不能用unset($_SESSION),可以使用$_SESSION = array()或则$_SESSION = null,正确注销session的方法如下:

//正确的注销session方法:
//1开启session
session_start();
 
//2、清空session信息
$_SESSION = array();
 
//3、清楚客户端sessionid
if(isset($_COOKIE[session_name()]))
{
  setCookie(session_name(),'',time()-3600,'/');
}
//4、彻底销毁session
session_destroy();

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

php中拷贝构造函数、赋值运算符重载

对象的赋值与复制: 赋值:通过“ = ”运算符重载User a(10),b;b = a;复制:调用复制构造函数User b;User a(b);或者User a = b;//相当于Use...

PHP中对缓冲区的控制实现代码

大家在使用PHP的过程中不免要使用到header和setcookie两个函数,这两个函数会发送一段文件头信息给浏览器,但是如果在使用这两个函数之前已经有了任何输出(包括空输出,比如空格,...

解析PHP实现下载文件的两种方法

方法一:复制代码 代码如下: header('Content-Description: File Transfer'); header('Content-Type:...

PHP的substr_replace将指定两位置之间的字符替换为*号

复制代码 代码如下:$username = "zongzi"; echo substr_replace($username,'**','1','2'); 定义和用法 substr_r...

通过缓存数据库结果提高PHP性能的原理介绍

但当您使用的数据库与 Web 服务器位于不同的计算机上时,缓存数据库结果集通常是一个不错的方法。不过,根据您的情况确定最佳的缓存策略却是一个难题。例如,对于使用最新数据库结果集比较重要的...