我正在寻找一种只删除一定数量的SESSION数据的方法,同时保留与正在登录的用户相关的会话数据.
目前,我正在通过对我要删除的SESSION变量的单个未设置语句来执行此操作.
但是我希望可以有一种更聪明的方法来删除SESSION数组的整个部分,同时保留特定的变量
例如
$_SESSION['username'];
$_SESSION['user_id'];
$_SESSION['ttl'];
此过程的用例为:
User Logs In –> User performs task –> Once task is complete delete session data associated with task –> User is still logged in!
我曾经考虑过在数据库监视登录中使用一个表,您对此有何看法?
谢谢你的时间!
解决方法:
没有办法删除“保留特定变量的SESSION数组的整个部分”.相反,您可以对任务使用二维数组并删除该数组.
$_SESSION["task1"]["username"] = "name"
$_SESSION["task1"]["pass"] = "pass"
$_SESSION["task2"]["name"] = "name";
当task1完成删除像
unset($_SESSION["task1"]);
现在$_SESSION [“ task2”]仍然存在.