(1)session数据区:
在我们的session会话结束之前,会有一个seeeion的文件,存储着session序列化的数据,在会话没有结束之前,我们都是操作$_SESSION的,但是在会话结束后,我们只能使用那个session数据区文件了,那么在会话结束后,我们还想用刚刚会话所产生的数据,那么就是找到刚刚那个session数据区得文件,然后从心存到我们的$_SESSION中就行了。
(2)观察$_SESSION和session数据去的交互情况:
(3)session的销毁:
你看这个session_destory()只是删除session数据区,并不会删除我们的$_SESSION数组,所以,假如我在session_destory()后面加一个var-dump($_SESSION),数据还会输出。
举例:
假如我请求session_1.php,看我的firebug的数据变化:
重点在这块:对应下面的,后缀是eut5的文件
然后我再请求session_2.php,结果这样显示:
然后,你看这个目录不在了:
但是只要我的session机制关闭,就不会将$_SESSION数据写到session数据区了。
那么如何删除与当前相关的全部session数据?
前两个是为了删除session数据,后一个是为了清除对方的浏览器的session数据,销毁cookie中的session_id
可以把setCookie(‘PHPSESSID’)中的那个PHPSESSID换成session_name(),也是可以的。
那么如何仅仅清除$_SESSION中的数据值?
不要unset($_SESSION),需要$_SESSION=array();
这就保证变量还在,但是内容消失了。