使用PHP会话登录/注销?

时间:2014-05-31 18:10:33

标签: php session login

我正在为网站登录系统工作,只是想确保我的实际登录和注销核心功能是正确的。

要登录我有:

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

然后退出我有

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

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

2 个答案:

答案 0 :(得分:1)

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.

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

答案 1 :(得分:0)

我真的认为你需要做unset($_SESSION["user"]);实际上session_destroy()已经足够了。一旦你打电话给session_destroy()那就足够了,在打电话之后就不会有任何$_SESSION["user"]