一尘不染

从PHP中的会话注销的正确方法

php

我已经阅读了许多有关注销脚本的php教程,我想知道从会话注销的正确方法是什么!

脚本1

<?php
session_start();
session_destroy();
header("location:index.php");
?>

剧本2

<?php
session_start();
session_unset();
session_destroy();
header("location:index.php");
?>

脚本3

<?php
session_start();
if (isset($_SESSION['username']))
{
    unset($_SESSION['username']);
}
header("location:index.php");
?>

有没有更有效的方法可以做到这一点?始终可以通过重新登录来创建会话,因此我应该为使用session_destroy()而使用unset($ _ SESSION
[‘variable’])代替吗?以上3个脚本中的哪一个更可取?


阅读 260

收藏
2020-05-29

共1个答案

一尘不染

PHP手册session_destroy()页面中:

<?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 (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>
2020-05-29