php注销session变量和销毁session详细分析
当使用完一个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 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |