【问题标题】:How to handle the user logout in browser multiple tab? auto logout all open tabs when logout from one of them如何在浏览器多个选项卡中处理用户注销?从其中一个注销时自动注销所有打开的选项卡
【发布时间】:2014-09-30 07:32:14
【问题描述】:

你好朋友,当我从其中一个标签中注销时,我需要自动注销所有打开的标签

我已经尝试了之前讨论链接中的以下代码 How to handle the user logout in browser multiple tab?

代码:-

<script type="text/javascript">
function readCookie(name) {
    var nameEQ = escape(name) + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0) return unescape(c.substring(nameEQ.length, c.length));
    }
    return null;
}
window.setInterval(function() {
    if(readCookie('loggedout')==1) {
        window.location.assign('loggedout.html');
        //Or whatever else you want!
    }
},1000);
</script>

我已将此代码页脚放置在所有页面中 比我通过 setcookie('loggedout',1) 函数在 logout.php 中设置 cookie 并在登录页面顶部取消设置 cookie

但奇怪的是 它适用于某些页面,如果我下次尝试登录它可以工作 然后登录成功,但 1 秒后它会自动注销我

请让我知道这段代码有什么问题,你们中的任何人对此主题有更好的帮助,请帮助我

【问题讨论】:

    标签: php session cookies


    【解决方案1】:

    你是如何取消设置 cookie 的??

    如果你使用unset($_COOKIE['loggedout']);

    然后将其替换为setcookie('loggedout');

    这是设置cookie使用:setcookie('loggedout',1);

    对于未设置的 cookie 使用:setcookie('loggedout');

    这对我有用..

    【讨论】:

    • 感谢您的快速帮助,这适用于我的管理模块,但不适用于其他模块在上面的代码中设置
    • 如果有人在寻找一些很好的答案:stackoverflow.com/questions/28230845/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2014-03-08
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2019-02-15
    相关资源
    最近更新 更多