如何在不注销的情况下破坏php会话

时间:2012-05-26 19:12:14

标签: php session login destroy

以下是我用来登录用户的代码:

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

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

3 个答案:

答案 0 :(得分:2)

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

查看session_regenerate_id()

的文档

答案 1 :(得分:2)

在会话中写下logout.phpunset()

session_start();
unset($_SESSION['username']);

答案 2 :(得分:0)

您应该更好地使用会话销毁方法。它会销毁存储在会话中的所有数据。

session_start();

//add some code of your app here

session_destroy();