【问题标题】:Clear cache or cookies when user logout用户注销时清除缓存或 cookie
【发布时间】:2021-02-26 22:44:44
【问题描述】:

当用户退出时,我的网站出现问题。

当我按下注销按钮时,帐户会正常注销,但用户仍以访客的形式登录。这意味着他们与该帐户保持联系,但就像访问者一样,他们查看自己的个人资料,在那里他们可以向他们发送消息。 我注意到,如果您按 CTRL + F5,它会断开我的连接并将我直接重定向到主页(登录/注册页面)。

这是 logout.php 文件:

<?php
if (isset($_SESSION['user'])) {
    unset($_SESSION['user']);
}
if (isset($_SESSION['new_user'])) {
    unset($_SESSION['new_user']);
}

$domain = $_SERVER["SERVER_NAME"];
header('Location: http://'.$domain);

我注意到,如果您按 CTRL + F5,它会断开我的连接并将我直接重定向到主页(登录/注册页面)。

当用户登录帐户时,他会被重定向到“见面”页面 (www.test.com/meet)

但是,如果我按注销然后按 F5 刷新页面,它会将我直接带到主页,但如果我在搜索栏中输入“www.test.com/MEET”,它会将我作为访问者连接到之前输入的帐户。

case 'meet':
    if ($logged !== true ) {
        showLandingPage();
        exit;
    }   
    $folder = 'meet';
    $page = 'content';
    include('assets/sources/pages.php');
break;

我希望用户在注销并访问 / meet 页面后被重定向到主页...我这样做了,但它不起作用。

我认为这都是 Cookie 或缓存的问题。

如何让他们在访问 Logout 时从浏览器中删除所有 cookie 和缓存数据。

我也尝试了“setcookies”选项,但它不起作用

总之,我需要在 logout.php 文件中做一些事情,一旦访问该文件,就可以彻底删除所有浏览器数据,如果用户访问“meet”,则将他们重定向到着陆页(ShowLandingPage)

谢谢

【问题讨论】:

    标签: php caching


    【解决方案1】:

    我不完全确定这是否符合您的需求。 您必须清理您的 cookie 并关闭您的 logout.php 上的会话

    <?php
        if ( ! empty($_GET['session'])) {
            setcookie('session_id','',time()-100);
        }
        session_destroy();
    ?>
    

    【讨论】:

    • 没什么...同样的问题。我总是必须按 F5 按钮。我按注销,然后将我重定向到主页面,当我使用 F5 时将我重定向到注册/登录页面....
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 2017-02-16
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多