我已经阅读了许多有关注销脚本的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个脚本中的哪一个更可取?
在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(); ?>