PHP,当用户注销时显示间歇性页面,如何删除它

问题描述 投票:0回答:2

我正在寻找一个特定的主题,但没有找到我想要的东西。 我正在使用 php 代码来注销用户:

    <?php
    if(!isset($_SESSION)) 
        { 
            session_start(); 
        } 
        session_unset();
        unset($_SESSION["id"]);
        unset($_SESSION["sign"]);
        unset($_SESSION["lang"]);
        unset($_SESSION["usertype"]);
        session_destroy();
        echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=./index.php?lang=en">';
    ?>

除了一件我想避免的烦人的事情之外,一切都工作正常。当用户按下注销按钮时,可以观察到,在显示初始页面之前,附加空白页面会出现一段时间......可以消除这种行为吗? - 我不想同时显示任何内容,我只想将用户重定向到主页。

session logout
2个回答
0
投票

尝试更换线路:

echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=./index.php?lang=en">';

使用以下函数调用,当然,提供您的 url 参数,以便仅执行 php 重定向,而不是尝试刷新页面。

Redirect("index.php");

function Redirect($url, $statusCode = 303)
{
   header('Location: ' . $url, true, $statusCode);
   die(); 
}

0
投票

而不是

unset()
所有变量只需使用
session_unset()
session_destroy()
来取消设置和销毁所有会话变量,然后使用标头重定向到主页

session_unset();
session_destroy();
header('Location: http://yourwebsite.com');
© www.soinside.com 2019 - 2024. All rights reserved.