PHP标头位置无法使用干净的网址

时间:2014-09-30 09:10:07

标签: php http-headers

    <?php
    $result = mysqli_query($link, $query);
    $url=$_SERVER['REQUEST_URI'];
    if (!$result) {
        $url.="/signup";
        header("Location:".$url);
    } else {
        $url.="/home";
        header("Location:".$url);
    }
    ?>

你好朋友我有点问题我正在做一个项目并使用干净的网址我的htaccess是好的一切都很好但是在注册表单提交后我想更改标题位置 php给出错误无法更改标题位置 请帮助

PHP Error

2 个答案:

答案 0 :(得分:2)

我会发表评论,但我没有做过代表。

无论如何,您可能会看到有关已发送标头的错误。这是常见的问题,它与干净的网址无关。你能做什么?

1。确保在header()调用

之前没有输出任何内容

问题基于Web服务器和HTTP的工作原理。当您输出服务器时,它将在准备好后立即发送标题和内容。你甚至可能输出空格,所以先仔细检查一下。

2。打开输出缓冲

如果出于任何原因需要在标题操作之前输出内容,则可以打开输出缓冲。这样,服务器首先“缓冲”您的数据,然后将所有内容排出。 Hovewer你正在为此付费。在真正需要时很少使用!

您可以将a ob_start()用于此

答案 1 :(得分:1)

如果这是您的PHP脚本,我可以在<?php标记之前看到空格。

    <?php
^^^^--- WHITESPACES

即使在PHP解释器启动之前,这些空格也将被写入输出缓冲区,当您调用header()时,它将产生错误。这是因为在调用header()之前不应向客户端发送任何输出。