【问题标题】:How can I log out a user, with PHP or javascript, from my site when they close the browser tab? [closed]当用户关闭浏览器选项卡时,如何使用 PHP 或 javascript 从我的站点注销用户? [关闭]
【发布时间】:2012-08-08 00:55:28
【问题描述】:

我注意到我的用户即使关闭浏览器选项卡也会保持登录状态。

如果他们关闭浏览器选项卡,我如何自动将他们注销?

【问题讨论】:

  • logged in 到什么?正在查看的内容表明他们仍在登录;数据库(MySQL)?充其量这个问题真的很模棱两可,最坏的情况根本不是一个问题。

标签: php javascript logout


【解决方案1】:

如果您使用session cookies,当浏览器会话存在时,cookie 将被删除。

【讨论】:

    【解决方案2】:

    使用 PHP,您可以将其信息存储在会话 ($_SESSION) 中,会话用于在您的 PHP 脚本之间传递信息,只要会话仍然可用,默认情况下,会话在用户关闭网页时关闭所以你可以这样做:

    <?php
    // you must first start your session on every page that would need it
    session_start();
    
    //login.php
    login($usr,$password);
    
    function login($usr,$password){
        $_SESSION['usr'] = $usr;
        $_SESSION['password'] = $password;
    }
    
    // and when you decide to logout
    function logout(){
        session_destroy();
    }
    

    在所有其他部分中,您可能需要访问从$_SESSION['usr'] 获得的信息。 在此处查看有关会话的更多信息:session_start()session_destroy()

    【讨论】:

    • 此答案不完整且具有误导性。您从不启动会话,也没有提到当用户决定“注销”而不关闭浏览器时会话可能被破坏。
    • 将其添加到我的代码中,感谢您指出这一点
    • 仅供参考,那不是我的-1。我不认为这太糟糕了,需要投反对票。它只是不值得 +1。
    • 是的,我只是讨厌有人在没有说明原因的情况下对任何事情投反对票,这有点无意义的 IMO。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多