页面没有正确重定向标题(“位置:***。php”);

时间:2014-02-10 23:59:39

标签: php header location redirect

我遇到了以下代码。我不知道为什么带标题/位置的第二个不断给我一个空白页面。

index.phpuser.php以及login.php都在主文件夹中。

以下输出false

<?php 

    include('functions/check.php');


    if (test())
        {
            echo "True";
        }
    else 
        {
            echo "false";
        }

    ?>

但是当我尝试这个时,我得到一个空白页面:

<?php 

    include('functions/check.php');


    if (test())
        {
            header("Location: user.php");
        }
    else 
        {
            header("Location: login.php");
        }

    ?>

我尝试了所有类型的不同变体:

header("Location: /login.php");

4 个答案:

答案 0 :(得分:2)

找到了一个非常有用的解决方法:

//在文档开始时

 <?php ob_start(); ?>

//在文档末尾

<?php ob_end_flush(); ?>

答案 1 :(得分:0)

使用完整的网址而不是相对网址。

http://us3.php.net/manual/en/function.header.php

答案 2 :(得分:0)

在调用标题之前,您必须确保没有打印任何文本(“位置:xxx”);

检查您为echo或print_r包含的代码。

答案 3 :(得分:0)

在发送新标题之前,页面会有某种输出。在使用命令之前,请确保没有任何内容输出到页面。它甚至可能是一个奇怪的符号,例如记事本在文件的开头添加了一个奇怪的符号,它不可见,但它就在那里,所以它会以HTML格式打印到页面上。