【问题标题】:Logout page - php注销页面 - php
【发布时间】:2017-06-03 07:01:00
【问题描述】:

我正在搜索一个特定的主题,但没有找到任何我想要的东西。 我正在使用 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">';
    ?>

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

【问题讨论】:

  • 不要使用元刷新,只使用标头重定向。 header('Location: ./index.php?lang=en');

标签: php logout


【解决方案1】:

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

session_unset();
session_destroy();
header('Location: http://yourwebsite.com');

【讨论】:

    【解决方案2】:

    尝试换行:

    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(); 
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多