根据w3schools(https://www.w3schools.com/php/php_sessions.asp)删除会话(注销),你应该这样做:
session_unset();
session_destroy();
但是我不明白为什么你必须先取消所有会话变量,不仅仅session_destroy
就够了?
答案 0 :(得分:1)
您可以在官方文档(https://php.net)上找到有关session_destroy
的以下信息:
它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie 来源: http://php.net/manual/en/function.session-destroy.php
session_unset
的文档说明如下:
session_unset()
函数释放当前注册的所有会话变量 来源: http://php.net/manual/en/function.session-unset.php
因此,使用这些信息,您必须调用以下内容来完全清除会话:
session_unset();
session_destroy();
您不想清除整个会话?
如果您使用系统登录并注销用户,您还可以使用unset
删除会话的特定字段:
unset($_SESSION['username']);
unset($_SESSION['other_user_data']);
在这种情况下,您只会删除用户的数据,而不会删除与用户无关的应用程序其他部分的数据。