Joh*_*han 83 php session session-cookies
从php.net文档:
session_destroy - 销毁注册到会话的所有数据
session_unset - 释放所有会话变量
我的三个部分问题是:
这两个功能看起来非常相似.
这两者之间究竟有什么区别?
两者似乎都删除了注册到会话的所有变量.它们中的任何一个实际上都会破坏会话本身吗 如果没有,你如何做到这一点(破坏会话本身).
这两个函数都没有删除客户端的会话cookie,这是正确的吗?
Gum*_*mbo 135
session_unset
只是清除$_SESSION
变量.它等同于:
$_SESSION = array();
Run Code Online (Sandbox Code Playgroud)
因此,这仅影响局部$_SESSION
变量实例,但不影响会话存储中的会话数据.
与此相反,session_destroy
破坏存储在会话存储器中的会话数据(例如,文件系统中的会话文件).
其他一切都保持不变.
SLy*_*Huy 14
session_unset();
Run Code Online (Sandbox Code Playgroud)
只需清除所有会话变量的所有数据.
session_destroy();
Run Code Online (Sandbox Code Playgroud)
删除所有会话.
session_start();
session_destroy();
$a = "1234";
$_SESSION[a] = $a;
Run Code Online (Sandbox Code Playgroud)
$_SESSION[a]
是NULL
.
session_start();
session_unset();
$a = "1234";
$_SESSION[a] = $a;
Run Code Online (Sandbox Code Playgroud)
$_SESSION[a]
是1234
.
所以,我会用:
session_start();
session_destroy();
session_start();
$a = "1234";
$_SESSION[a] = $a;
Run Code Online (Sandbox Code Playgroud)
session_unset()
将清除$_SESSION
变量(如中的array()
),但不会触摸会话文件。但是当脚本结束时;的状态$_SESSION
将被写入文件。然后它将清除文件,但不会删除它。当您使用session_destroy()
它时,不会触摸$_SESSION
(var_dump($_SESSION)
在之后使用session_destroy()
),但是会删除会话文件,因此,在脚本退出时,将没有文件来写入的状态$_SESSION
。
归档时间: |
|
查看次数: |
58125 次 |
最近记录: |