为什么页面重定向不能在php中工作

时间:2014-10-02 15:36:59

标签: php redirect

我不明白为什么下面的代码没有重定向,我已经破坏了会话,所以条件应该是真的,但它不会重定向到这个页面,

<?php
    session_start();

    if(!isset($_SESSION['userid'])) {   
        header('Location: Login.html');
        exit;
    }
?>

但是在注销php中,重定向工作正常。

<?php
    session_start();
    session_destroy();
    header('Location: Login.html');
    exit;
?>

修改

我可以在Chrome开发者工具中看到重定向调用,但实际上并没有重定向 enter image description here

请帮我理解代码中的错误。

2 个答案:

答案 0 :(得分:0)

确保<?php之前没有空格,因为这会阻止您设置任何标题属性。

答案 1 :(得分:0)

明确地执行unset($_SESSION['userid']);就足够了。

session_destroy()州的页面

  

session_destroy()会销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie。要再次使用会话变量,必须调用session_start()。

     

为了完全终止会话,要将用户注销,还必须取消设置会话ID。如果使用cookie来传播会话ID(默认行为),则必须删除会话cookie。 setcookie()可以用于此。