我试图在PHP中摆脱一堆会话变量。我的意思是完全摆脱它们。
我尝试了一些不同的方法。例如:
$_SESSION = array();
session_destroy();
header('location: '.MAINPATH);
我也尝试过使用上述命令对session_unset,unset,setcookie等进行各种编译。 我当然会测试会话变量是否仍然存在:
echo $_SESSION['member_id'];
我的所有会话变量仍然存在。 任何人都可以找出问题所在吗?
非常感谢任何帮助。
FWI:我使用的是PHP 5.5
更新: 我尝试将代码更改为以下内容:
echo $_SESSION['member_id'];
session_unset();
session_destroy();
echo $_SESSION['member_id'];
导致了这个输出:
1000004注意:未定义的索引:member_id in ...
这应该意味着会话变量是deletede吗?奇怪的是,当我回到我的首页时,会话变量再次可用。
答案 0 :(得分:3)
再一次,你能快点尝试一下:
<?php
session_start();
$helper = array_keys($_SESSION);
foreach ($helper as $key){
unset($_SESSION[$key]);
}
?>
答案 1 :(得分:0)
您可以使用此代码: -
session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
在php标签中使用
答案 2 :(得分:-1)
您可以使用session_unset()清除所有会话变量。