Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP销毁所有会话变量_Php_Session Variables - Fatal编程技术网

用PHP销毁所有会话变量

用PHP销毁所有会话变量,php,session-variables,Php,Session Variables,我正试图摆脱PHP中的一堆会话变量。我的意思是完全摆脱他们 我尝试过一些不同的方法。例如: $_SESSION = array(); session_destroy(); header('location: '.MAINPATH); 我还尝试使用会话unset、unset、setcookie等与上述命令的各种组合。 当然,我已经通过以下操作测试了会话变量是否保持不变: echo $_SESSION['member_id']; 由于som原因,我的所有会话变量仍然保留。 有人能找出问题所在吗

我正试图摆脱PHP中的一堆会话变量。我的意思是完全摆脱他们

我尝试过一些不同的方法。例如:

$_SESSION = array();
session_destroy();
header('location: '.MAINPATH);
我还尝试使用会话unset、unset、setcookie等与上述命令的各种组合。 当然,我已经通过以下操作测试了会话变量是否保持不变:

echo $_SESSION['member_id'];
由于som原因,我的所有会话变量仍然保留。 有人能找出问题所在吗

非常感谢您的帮助

FWI:我使用的是PHP5.5

更新: 我尝试将代码更改为以下内容:

echo $_SESSION['member_id'];
session_unset();
session_destroy();
echo $_SESSION['member_id'];
这导致了这个输出:

1000004通知:未定义索引:成员id在


这应该意味着会话变量已删除,对吗?奇怪的是,当我回到头版时,会话变量又可用了。

您可以使用session\u unset()清除所有会话变量。

您可以再试一次吗:

<?php
    session_start();

    $helper = array_keys($_SESSION);
    foreach ($helper as $key){
        unset($_SESSION[$key]);
    }
?>

您可以使用以下代码:-

session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);

在php标签中使用

您是在页面刷新之前还是之后执行
echo$\u会话['member\u id']
?$\u会话数组将保留当前页面加载中的值,然后再保存到未设置的代码中,这将在下一个服务器请求时生效。另外,请确保在页面刷新后进入destroy functionecho$\u session['member\u id']之前已在页面上启动会话。。是的,我在上面代码之前使用了session_start()。成员在session_destroy()之前和之后的id值相同吗?是的,是相同的:pYOU'VE breaked PHP!。。。请注意,请尝试删除
$\u SESSION=array()行,并再次检查会话是否没有被您设置的某种缓存机制重新恢复。我创建了3个文件来测试正在破坏的会话,并且它工作正常。