销毁除一个以外的所有会话
Destroy all sessions but one
我和这个人有同样的问题: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']
而不是删除所有其他的。
一个小技巧:)
<?php
session_start();
$tmp = $_SESSION['id'];
session_unset();
$_SESSION['id'] = $tmp;
header("Location: login.php");
exit;
?>
你也可以这样做:
$keep_alive = $_SESSION['id'];
销毁所有会话:
session_start();
session_destroy();
再次设置会话:
session_start();
$_SESSION['id'] = $keep_alive;
我和这个人有同样的问题: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']
而不是删除所有其他的。
一个小技巧:)
<?php
session_start();
$tmp = $_SESSION['id'];
session_unset();
$_SESSION['id'] = $tmp;
header("Location: login.php");
exit;
?>
你也可以这样做:
$keep_alive = $_SESSION['id'];
销毁所有会话:
session_start();
session_destroy();
再次设置会话:
session_start();
$_SESSION['id'] = $keep_alive;