使用PHP销毁所有会话变量

时间:2014-11-06 16:50:18

标签: php session-variables

我试图在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吗?奇怪的是,当我回到我的首页时,会话变量再次可用。

3 个答案:

答案 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()清除所有会话变量。