从php.net得到它,但我不确定这是怎么每个人都摧毁所有会话?
// Unset all Sessions
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() -42000, '/');
}
session_destroy();
Run Code Online (Sandbox Code Playgroud)
代码会破坏所有会话吗?这是最常见的方式吗?你们怎么破坏php会话?
哦是的,顺便问一下,那是session_name()什么?所有会话名称?例如$_SESSION['var1'],$_SESSION['var2']......?
我不需要再使用unset($_SESSION['var1']);了吗?
使用session_destroy()和unset($_SESSION[])?之间有什么不同?
Gum*_*mbo 21
您应该首先知道会话是什么:您可以将会话视为服务器端的数据容器,该容器与随机标识符(会话ID)相关联.该会话ID需要由客户端提供,以便服务器可以将与该会话ID相关联的数据(从而加载到该会话)加载到$_SESSION变量中.该$_SESSION变量中的所有内容也称为当前活动会话的会话变量.
现在回答你的问题:
代码会破坏所有会话吗?这是最常见的方式吗?你们怎么破坏php会话?
提供的代码只删除当前会话的会话数据.该$_SESSION = array();语句将简单地重置会话变量,$_SESSION以便将来对会话变量的访问$_SESSION将失败.但会话容器本身尚未删除.这将通过致电来完成session_destroy.
另请参见真正破坏PHP会话?
哦是的,顺便说一下,session_name()是什么?所有会话名称?例如$ _SESSION ['var1'],$ _SESSION ['var2'] ......?
该会话名称只是用来识别一个Cookie,URL查询或通过POST参数传递会话ID参数.PHP的默认值是PHPSESSID.但是你可以把它改成你想要的任何东西.
我不需要使用unset($ _ SESSION ['var1']); 再合适了???
不会.初始$_SESSION = array();删除所有会话数据.
使用session_destroy和unset($ _ SESSION [])之间有什么不同?
session_destroy将删除整个会话容器,unset或者重置$_SESSION变量只会删除当前运行时的会话数据.
Mar*_*ius 12
这只会破坏当前用户会话,而不是所有其他用户会话.
尝试使用session_save_path()找出会话数据的存储位置,然后删除那里的所有文件.
| 归档时间: |
|
| 查看次数: |
33698 次 |
| 最近记录: |