更改标题中的位置不起作用

时间:2013-09-17 08:20:21

标签: php

我尝试使用标题函数更改页面但由于某种原因它不起作用,我回显了ob_start()结果,它显示1.没有太多的代码,但这里是:

<?php 
ob_start();
header('Location: http://www.google.com');

?>

它只显示1

还有一件事,这是带有vardump的ob_status输出

array(5) { ["level"]=> int(1) ["type"]=> int(1) ["status"]=> int(0) ["name"]=> string(22) "default output handler" ["del"]=> bool(true) }

建议?

编辑:首先在start_ob()

之前有一个echo调用

2 个答案:

答案 0 :(得分:3)

您在header()之前开始输出。它显示1(事实上true)和header()函数的抑制效应。从那里删除echo

来自php.net

  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP发送。

作为旁注:

  1. 尝试删除部分标记前后的所有空白行。这可能是一个原因。
  2. 尝试在任何输出之前放置header()调用。

答案 1 :(得分:1)

您在发送标头之前创建echo。你不能这样做。发送任何内容后,无法更改标题。

echo显示1,因为on_start()函数返回布尔值truefalse

你说,即使你删除这一行,它仍然无效。你不是在早些时候发送任何内容吗?即使是空间?你是否启用了错误显示?包括通知。