?php session_start();
if(isset($_SESSION["user_name"]))
if($_GET["destroy"]=="yes")
{
session_destroy();
unset($_SESSION["user_name"]);
}
if(!isset($_SESSION["user_name"]) &&
$_GET["user"]!="")
$_SESSION["user_name"] = $_GET["user"];
?>
我想知道,为什么我们需要 unset 和 session_destroy((? 我通过删除其中任何一个进行测试,结果仍然相同。 用户仍注销。 请有人向我解释,非常感谢。
session_unset(( 仅从会话中删除变量 - 会话仍然存在 - 仅截断数据。但是session_unset((是一个过时的PHP函数。我们可以将会话设置为空数组。
$_SESSION = array();
session_destroy(( 将删除整个会话。并不总是需要同时执行这两项操作。但建议同时执行这两项操作以确保额外的安全性。
unset()
删除变量而不是会话。
session_destory()
销毁会话。
session_destroy(( 销毁与当前关联的所有数据 会期。它不会取消设置任何与 会话,或取消设置会话 Cookie。
但是,我建议您执行以下操作:
$_SESSION = array();
。而不是unset();