加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php注销session变量和销毁session详细分析

发布时间:2020-05-25 02:07:33 所属栏目:PHP 来源:互联网
导读:php使用完一个session变量后,可以将其删除,也可以将其彻底销毁,删除session变量可以使用php unset函数,销毁session可以直接使用session_destory()函数。本文章向大家介绍php如何注销session变量和销毁session,以及注销和销毁seesion时需要注意的几点。

当使用完一个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的代码如下:

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读