2014-09-30 84 views
0
<?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头位置不干净的网址工作

PHP Error

+1

你肯定你的任何其他HTML输出前要发送头? – 2014-09-30 09:11:18

+0

不,我不发送标题 html表单和php代码都在同一个文件中 表单动作是(action =“”) – 2014-09-30 09:15:19

+0

你的错误在第147行,这意味着你可能有大量的HTML在调用'标题()'。 – Krumia 2014-09-30 09:16:44

回答

1

我会发表评论,但我没有足够的代表。

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

1.确保你是不是头之前输出任何东西()调用

问题是基于事实的Web服务器和HTTP是如何工作的。当您输出服务器时,将尽快发送标题和内容。而且你甚至可能输出空格,所以仔细检查一下。

2.打开输出缓冲

如果您有任何理由前头操作需要输出的东西,你可以打开输出缓冲。这种方式服务器首先“缓冲”你的数据,然后把所有东西都分离出来。 Hovewer您正在为此付费。只有在真正需要的时候才能使用!

您可以使用a ob_start()这个

1

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

<?php 
^^^^--- WHITESPACES 

这些空格,将被写入到输出缓冲区甚至在PHP解释器踢,当你调用header()它会给出一个错误。这是因为在致电header()之前,不应将任何输出发送给客户端。