我正在讨论什么是更好的登出php的方法,如果有人可以帮我澄清我会非常感激:
我有两个版本的注销代码
1)
$logoutGoTo = "login.php";
if (!isset($_SESSION)) {
session_start();
}
$_SESSION['username'] = NULL;
$_SESSION['user_id'] = NULL;
unset($_SESSION['username']);
unset($_SESSION['user_id']);
$_SESSION = array();
if ($logoutGoTo != "") {header("Location: $logoutGoTo");
exit;
Run Code Online (Sandbox Code Playgroud)
2)
session_start();
session_unset();
session_destroy();
Run Code Online (Sandbox Code Playgroud)
哪个更好的解决方案?
通常都不是因为它们都基本上破坏了整个会话.
会话不仅仅是为了保持用户的登录.会话用于跟踪可能未链接到用户帐户的其他数据,因此您可能不希望在注销时销毁它.
以此为例,您将语言设置存储在会话中.现在用户注销,您希望保留语言设置但注销用户.如果您销毁会话,则会销毁您的跟踪所有其他数据.
我只是取消/删除保持用户登录的会话变量.
归档时间: |
|
查看次数: |
178 次 |
最近记录: |