当使用完一个session变量后,可以将其删除,当完成一个会话后,也可以将其销毁。如果用户想退出WEB系统,就需要为他提供一个注销的功能,把他的所有信息在服务器中销毁。销毁和当前session有关的所有的资料,可以调用session_destory函数结束当前的会话,并情况当前会话的所有资源。该函数的语法格式如下所示:
bool session_destory(void) //销毁当前session有关的所有资料。
相对于session_start()函数,该函数用来关闭session的运作,如果成功则返回true,销毁session资料失败则返回false。但该函数并不会释放当前session相关的变量。也不会删除保存在客户端cookie中的session id。因为$_SESSION数组和自定义的数组在使用上是相同的,所以我们可以使用unset()函数来释放在session中注册的单个变量。如下所以:
unset($_SESSION[\'username\']); //删除在session中注册的用户名变量
unset($_SESSION[\'password\']); //删除在session中注册的用户密码变量
/* http://www.manongjc.com/article/1286.html */
一定要注意,不要使用unset($_SESSION)删除整个$_SESSION数组,这样将不能再通过$_SESSION超全局数组注册变量了,那如果想要把某个用户在session中注册的所有变量都删除,该如何操作呢?我们可以将数组变量$_SESSION赋值一个空数组。如下所示:
$_SESSION=array(); //将某个用户在session中注册的变量全部删除。
php默认的session是基于cookie的,session id被服务器存储在客户端的cookie中,所以在注销session时也需要清除cookie中保存的session id,而完成这一项工作必须借助setCookie函数完成。在cookie中,保存session id的cookie标示名称就是session的名称,这个名称是在php.ini中通过session.name设置的,在php中,我们可以通过session_name()函数获取session名称。删除session id的代码如下:
<?php
if(isset($_COOKIE[session_name()])){ //判断cookie中是否保存session id
setcookie(session_name(),\'\',time()-3600); //删除包含session id的cookie
}
?>
总结:
php注销session变量和销毁session注意事项:
- session_destory()可以销毁session会话,但它不会释放session变量,我们需要使用unset函数释放session变量
- 使用unset函数释放所有session变量时,不能使用unset($_SESSION),而应该使用$_SESSION=array();
- 使用session_destory()销毁seesion会话时,我们还必须使用setcookie函数删除保存在客户端cookie里的session id
继续阅读与本文标签相同的文章
Linux 桌面进化史
Node.js主流Web框架对比
-
手机导航是怎样判断路况的?不仅是通过卫星,这几个原因使导航更智能
2026-05-14栏目: 教程
-
手机信号突然从“4G”变成“E”,是什么意思?客服给出答案
2026-05-14栏目: 教程
-
互联网架起“乌镇式生活”
2026-05-14栏目: 教程
-
微信才是内存“杀手”,别再乱清理,关闭这个功能,手机立马流畅
2026-05-14栏目: 教程
-
手机信号变成E是什么意思?看完专业人士给出的解释后,涨知识了
2026-05-14栏目: 教程
