【问题标题】:redirecting after logout注销后重定向
【发布时间】:2012-11-05 18:30:41
【问题描述】:

当用户注销时,我在将用户重定向到首页时遇到问题。我有一个 switch case 语句,处理注销的语句如下所示:

    case 'logout':
    offline($_SESSION['user_id']);
    session_destroy();
    include_once 'index.php';
    break;

我认为包含 index.php 会将用户重定向到首页,因为这就是会话时应该发生的事情。但页面只是空白,网址是 localhost/web//?a=logout。

我做错了什么?

【问题讨论】:

    标签: php redirect


    【解决方案1】:

    好的,哦!我已经更新了我的答案,即使你没有要求它。所以,再检查一遍

    输入header('Location: http://site.com/index.php');

    让你的代码像这样:

    case 'logout':
        offline($_SESSION['user_id']);
        session_destroy();
      header('Location: http://site.com/index.php');
       exit();
        break;
    

    【讨论】:

    • 我猜你的意思是header('Location: index.php');,然后你应该打电话给exit();
    • 这个答案仍然是错误的。 Location 的 L 不仅不是小写的,而且应该是绝对的(也就是完整的 URL)。
    • 这个答案不正确。 RFC 2616 要求Location 标头指定一个绝对URIindex.php 是一个相对 URI。虽然浏览器可能会在某些情况下修复它,但它违反了 HTTP 规范,不应依赖它。引用 RFC 2616 Section 14.30 的具体内容:字段值由单个绝对 URI 组成。
    • @rdlowrey 如果文件在同一目录中怎么办?为什么要使用绝对网址呢?
    • 我不在乎 Tim Berners-Lee 是否给您发送了一张手写的圣诞贺卡,允许您使用相对 URI,您应该始终使用绝对 URI。
    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2011-06-15
    • 2015-10-05
    • 2018-12-10
    • 2018-07-21
    • 1970-01-01
    • 2013-02-15
    相关资源
    最近更新 更多