【发布时间】:2015-03-21 14:53:21
【问题描述】:
我和这个人有同样的问题:Destroy session, but keep one variable set(已解决)
当用户注销时,我正在尝试销毁/取消设置除一个名为“id”的会话之外的所有会话。 我不想手动取消设置每个会话,因为我有很多会话。
这是我的 logout.php
<?php
session_start();
foreach($_SESSION as $key=>$value) {
if($key !== "id") {
unset($_SESSION[$key]);
}
}
header("Location: login.php");
exit;
?>
此代码当前取消设置所有会话并且不保留名为 ID 的会话。
我错过了什么?
【问题讨论】:
-
您确定您的值存储在
$_SESSION['id']中吗? -
做 print_r($_SESSION);在 foreach 循环之前检查键 => 值与您期望的一样。
-
ID与id不一样,如果是这样的话。 -
@Martin 我 100% 确定该值存储在 $_SESSION['id'] 中。
-
那么您的示例代码中的逻辑应该可以工作。 :-/
标签: php session-cookies