javascript - 使用ajax在浏览器中单击返回时销毁php session

标签 javascript php jquery ajax session

我有两个文件 index.php(第一个)和第二个 booking.php(第二个),我想要的是当有人从 booking.php 移动到 index.php session 被破坏时。

到目前为止我尝试过的是,用 ajax 破坏 session

这是我在 booking.php 文件中的相关代码

$(window).on("popstate", function (event, state) {

    $.ajax({
          type: 'GET',
          url: 'logout.php',
          async:yes,
          success: function(msg) {
              if (msg == 'loggedOut') {
            window.location.href = 'index.php';
              }
          }
      });
    });

这是我的 logout.php 文件

<?php
session_start();
session_destroy();
echo "loggedOut";
?>

是否有任何可能的方法来完成我提到的上述事情,如果是,那么我应该在 booking.php 或 index.php 中放置我的 ajax 代码!提前致谢

最佳答案

您必须在您的 php 文件中重置 session ID。

session_start(); // fetch OR re-start current session

session_regenerate_id(true); // Update the current session id with a newly generated one

$_SESSION=array(); // empty session data

session_write_close(); // Write session data and end session

关于javascript - 使用ajax在浏览器中单击返回时销毁php session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45398328/

相关文章:

IE9 中的 jQuery 悬停错误

javascript - 当我触摸 div/canvas 等 Html 标签时如何显示铅笔图标?

javascript - 嵌套的 Aurelia 应用程序

php - 使用 PHP MYSQL 加密

javascript - 为什么 JSHint 警告我在回调函数中使用 'this'?

javascript - 替换链接的 href 中的 src img

javascript - 将服务器端渲染添加到使用 create-react-app 创建的现有 React 站点

javascript - 在sequelize中查询两个表

php - 无需浏览器/用户即可定期更新数据库

php - Laravel - 如何在 $query 函数中定义变量?