PHP Session没有清算?

时间:2014-01-08 14:06:49

标签: php session

我正在使用PHP会话来创建我创建的工具。它允许您恢复存储在数据库中的可能已启动的先前会话。所有功能都按预期工作。

但是,我提供了一个“创建新会话”的链接,并将其指向包含此代码的PHP页面:

<?php
session_start();
session_destroy();
$_SESSION = array();
unset($_SESSION);
header('Location: wizard.php');
?>

现在,当它重定向回wizard.php时,我打印出所有会话详细信息,它仍然包含上一个会话的信息。

我在这里缺少什么?

Wizard.php以session_create()开头;所以我会假设一旦它重定向就会创建一个新的会话ID,所有这些都不会发生。

感谢您提供任何信息

1 个答案:

答案 0 :(得分:1)

<?php
    // Initialize the session.
    // If you are using session_name("something"), don't forget it now!
    session_start();

    // Unset all of the session variables.
    $_SESSION = array();

    // If it's desired to kill the session, also delete the session cookie.
    // Note: This will destroy the session, and not just the session data!
    if (isset($_COOKIE[session_name()])) {
        setcookie(session_name(), '', time()-42000, '/');
    }

    // Finally, destroy the session.
    session_destroy();

    header('Location: wizard.php');
?>

取自:session_destroy Example 1