我有一个用PHP编写的登录系统。当您成功登录;
<?php $_SESSION[session_id()] = "yourMemberIDHere"; ?>当你注销的时候;
<?php unset($_SESSION[session_id()]); ?>这是我的问题。管理员可以禁止会员。被禁止的会员不能登录。但是,当一个成员在网上被禁止时,它不会注销。因为我只在登录时控制禁止状态。
所以我知道在$_SESSION[]数组的某个地方,值等于"myBannedMemberID“。我如何找到那个$_SESSION密钥并取消它?
我以为预言是有用的。但是,如果我的系统上有成千上万的成员在线呢?
发布于 2015-01-15 13:54:22
尝试使用php函数array_search
$key = array_search($myBannedMemberID, $_SESSION);
unset($_SESSION[$key]);发布于 2015-01-15 14:05:41
您可以在所有会话中搜索:
foreach ($_SESSION as $name => $value) {
if ($value == 'myBannedMemberID') {
unset($_SESSION[$name]);
}
}发布于 2015-01-15 13:51:25
试着做这样的事情:
<?php
if(isset($_SESSION['myBannedMemberID'])){
unset ($_SESSION['myBannedMemberID']);
}
?>您也可以通过如下方式打印$_SESSION数组中的所有项:
print_r($_SESSION);希望这能有所帮助。
https://stackoverflow.com/questions/27964845
复制相似问题