我一直在阅读手册和网络上的各个页面,包括这里的很多问题。然而,我仍然无法理解这个概念session_destroy()
在 PHP 中与其他取消设置会话数据的方法结合使用。
考虑这个网站从不注册会话变量之外的$_SESSION
超全局数组。
session_start();
$_SESSION = array();
session_regenerate_id(true); // New cookie + old session file on server deleted
session_destroy(); // What does PHP do here that was not done above?
请注意,多年来我一直在构建有效的登录/注销脚本。这个问题不是让事情正常运转,但我想准确地理解怎么了。
(这里的很多答案也使用session_unset()
这会取消设置已注册的变量。然而,我从不使用session_register()
,所以这看起来真的很多余。)
The session_regenerate_id()
功能是根据会话数据相应的标识符来复制或移动会话数据;它通常在用户登录时使用,以防止会话固定。之后,会话仍然处于活动状态,可以通过以下方式访问它$_SESSION
.
The session_destroy()
删除当前会话数据。之后,会话消失,您只能使用以下命令启动新会话session_start()
.
如果用户退出您的站点,最合适的操作是完全销毁会话;即使用session_destroy()
.
Btw, session_register()
and session_unset()
已弃用且不应使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)