1

这是我用来登录用户的代码:

    if($username==$db_username&&$password==$db_password)
    {
        session_start();
        echo 1;
        header("Location: index2.php");
        $_SESSION['username']=$db_username;

现在,这应该为已登录的用户名分配一个会话。在我的应用程序中,我没有注销选项,所以我转到登录页面并发送另一个用户名和密码。因此,当发送这些新信息时,必须销毁旧会话并为新用户分配一个新会话。我可以这样做吗?

4

3 回答 3

2

您可以做的不是使用 session_destroy (注销系统),而是使用该session_unset函数清除所有会话变量。然后用于session_regenerate_id()创建一个新的会话 id 并转储旧的(这是自动完成的,您可能必须与该函数一起发送一个 'true' 布尔参数),并将新数据分配给 $_SESSION['username']

检查session_regenerate_id()的文档

于 2012-05-26T19:18:15.970 回答
2

logout.phpunset()会话。

session_start();
unset($_SESSION['username']);
于 2012-05-26T19:20:58.197 回答
0

您最好使用会话销毁方法。它会破坏存储在会话中的所有数据。

session_start();

//add some code of your app here

session_destroy();
于 2012-05-26T19:24:11.257 回答