PHP会话跟踪末与文件处理系统一(43),
程序员文章站
2022-05-08 15:54:38
...
PHP会话跟踪末与文件处理系统一(43),
注销变量
1、unset ($_SESSION[‘xxx’])删除单个session变量,unset($_SESSION[‘xxx’]) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。 session_unregister()在PHP5中不再使用。
注:unset($_SESSION) 此函数千万不可使用,它会将全局变量$_SESSION销毁,而且还没有可行的办法将其恢复。用户也不再可以注册$_SESSION变量。
2、$_SESSION=array() 删除多个session变量
3、session_unset() 删除所有session变量
销毁会话
session_destroy()结束当前的会话,并清空会话中的所有资源。该函数不会unset(释放)和当前session相关的全局变量,也不会删除客户端的session cookie。
返回值:布尔值。
功能说明:这个函数结束当前的session,此函数
没有参数,且返回值均为true,
注:PHP默认的session是基于cookie的,如果要删除cookie的话,必须借助setcookie()函数。
删除session的案例
<?php // 初始化session. session_start(); /* 删除所有的session变量..也可用 unset($_SESSION[‘xxx’])逐个删除。*/ $_SESSION = array();//或session_unset(); /*删除sessinid.由于session默认是基于cookie的,所 以使用setcookie删除包含session id的cookie.*/ if (isset($_COOKIE[session_name()])) { setcookie(session_name(), ' ', time()-42000, '/'); } // 最后彻底销毁session. session_destroy(); ?>
持久化session
请求结束后所有注册的变量都会自动被序列化(为了方便保存到服务器端的会话文本文件中) ,读取时再进行还原。