繁体   English   中英

使用PHP会话登录/注销?

[英]Login/Logout using PHP sessions?

我正在使用网站的登录系统,只是想确保我的实际登录和注销核心功能正确无误。

要登录,我有:

session_start();
session_regenerate_id(true);
$_SESSION["user"] = $username;
$_SESSION["startTime"] = time();

然后稍后注销

unset($_SESSION["user"]);
unset($_SESSION["startTime"]);
session_destroy();

这是正确的还是可以通过任何方式加以改进? 有人可以澄清session_regenerate_id(true)到底在做什么吗? 我从一些预先存在的代码继承了它。

1 /您可能不需要在登录部分输入以下代码:

session_regenerate_id(true);

有关它的更多信息,请在此处访问PHP手册: http : //www.php.net/manual/en/function.session-regenerate-id.php

2 /要注销用户,会话值将被重置,会话数据将在服务器上销毁。

$_SESSION = array(); // Destroy the variables.
session_destroy(); // Destroy the session itself.

如果您决定稍后更改会话名称,则此代码仍然正确。

我真的不认为您需要unset($_SESSION["user"]); 实际上session_destroy()就足够了。 一旦您调用session_destroy()足够了,调用它之后将不会有任何$_SESSION["user"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM