javascript - 我的 session 在到达设定时间之前就结束了...?

标签 javascript php session

我这里有一个函数idleTimer。我想在 5000 毫秒过去时销毁该功能并重定向到登录页面。在五秒钟过去并且我重定向到另一个页面之前, session 已经被销毁。我希望 session_destroy 仅在五秒后发生...使用此代码,重定向可以工作,但就像我之前所说, session 在 5 秒前被销毁。

有人可以帮助我吗?

function idleTimer() 
        {
            var t;
            window.onload = resetTimer;
            window.onmousemove = resetTimer; // catches mouse movements
            window.onmousedown = resetTimer; // catches mouse movements
            window.onclick = resetTimer;     // catches mouse clicks
            window.onscroll = resetTimer;    // catches scrolling
            window.onkeypress = resetTimer;  //catches keyboard actions


            function logout() 
            {
                <?php
                    session_destroy(); // the problem is here!
                ?>

                window.location.href = './Login.html';
            }
           function resetTimer() 
            {
                clearTimeout(t);
                t = setTimeout(logout, 5000);
            }

        }

最佳答案

window.location.href = './Login.php?sessionDestroy=true';

文件login.php:

if(isset($_GET['sessionDestroy')){
  session_destroy();
}

不要忘记将登录文件扩展名更改为 php

关于javascript - 我的 session 在到达设定时间之前就结束了...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61483061/

相关文章:

javascript - 将字符串传递给 Angular

php - Symfony2 功能测试客户端强制服务器参数 SERVER_NAME

php - 在 Lumen (Laravel) 中启用中间件

c# - ASP.NET 3.5 MVC1 - 用户随机未经身份验证/需要重新登录

javascript - 有没有办法以编程方式将 DIV 中的内容导出到图像?

javascript - Jquery 没有正确循环功能

javascript - 禁用/启用提交按钮并每 1 秒加载一次运行此 javascript

javascript - 在 setTimeout 期间阻止函数执行

php - 如何在 PHP 中删除字符串末尾的所有特定字符?

c# - InProc 与 StateServer