【问题标题】:session is not getting destroy [duplicate]会话没有被破坏[重复]
【发布时间】:2018-08-18 17:16:03
【问题描述】:

我只是想用 session_destroy 破坏我的会话,但它没有被破坏这是我的 logout.php 代码

<?php
session_destroy();
//print_r($_SESSION);exit;  
?>
<script type="text/javascript">
    location.href=root_path+"index/";
</script>

我有点担心

Warning: session_destroy(): Session object destruction failed in F:\xampp\htdocs\synthesis\module\login\logout.php on line 3

如果我从评论中删除第三行并再次单击注销,它会向我显示包含所有数据的 $_SESSION 数组,如果我再次评论它而不刷新浏览器然后刷新浏览器,则会话将被破坏 我从我的索引页面调用这个页面,在索引页面上我写了 session_start

【问题讨论】:

  • 你从 session_start 开始,然后是 session_destroy
  • @VivekModi 您必须在每个文件中使用session_start(),除非您将此文件包含在某个父文件中以获得相同的 HTTP 响应。

标签: php session session-variables


【解决方案1】:

声明 session_start();首先关闭现有会话。

    <?php
     session_start(); 
     session_destroy();
     //print_r($_SESSION);exit;  
    ?>
    <script type="text/javascript">
       location.href=root_path+"index/";
    </script>

【讨论】:

  • 请阅读我提到的我在索引页面上调用了我的这个页面并且我在第一行写了 session_start 的漏洞问题
【解决方案2】:

你在销毁之前忘记了 session_start。并且你使用 php 重定向,这里你使用脚本来重定向

<?php 
session_start();
session_destroy();  
header("Location: index.php");

?>

【讨论】:

  • 请阅读我提到的我在索引页面上调用了我的这个页面并且我在第一行写了 session_start 的漏洞问题
  • 有时标头函数会发出警告,这就是我使用 javascript 重定向的原因
  • @VivekModi,错误出在您这边,请检查此网址以进行清理。下次stackoverflow.com/questions/17366719/…
  • 我现在添加了 $_SESSION=array(); session_regenerate_id();在我的注销页面上,但仍然存在同样的问题
猜你喜欢
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多