有人知道为什么我的header()不重定向吗?PHP header()不起作用
我的脚本的最后一部分是:
header("location: test.php");
die('died');
它写道:
died.
:(((
应该有它死之前重定向,但它不会。
你有什么想法?
有人知道为什么我的header()不重定向吗?PHP header()不起作用
我的脚本的最后一部分是:
header("location: test.php");
die('died');
它写道:
died.
:(((
应该有它死之前重定向,但它不会。
你有什么想法?
这可能是您在调用header()后您正在输出一些文本/ HTML到浏览器,这是一个禁忌。如果在调用之前发送单个输出空间,您的header()调用将被忽略。
换句话说,在向用户显示任何东西之前,您的header()代码需要位于脚本的开头。如果仍然不起作用,请确保您的php标记之外没有任何空格或其他空白。
你应该为你的位置标头使用完全合格的地址,不输出任何内容:
header('Location: http://example.com/test.php');
die();
而且确保没有其它内容被设定头之前发送的,否则它不会被作为头文件将被发送到浏览器。
也许在header
之前有一些看不见的输出,它会阻止设置header
,并且信息警告被抑制。
另外位置的头应该包含一个绝对URL:
// Show Errors
error_reporting(E_ALL);
ini_set('display_errors','On');
// Redirect
header('Location: http://example.com/path/test.php');
die('redirect');
location:
应该是Location:
。
而且......
好运。
亲爱的MattK,当你编写一个长长的小时和长长的代码创建,并且你的代码之前的演示文稿和课程错误报告被关闭,f ..头没有重定向通过一个f ...回显空字符串...你在这种情况下做什么? – szatti1489
我也被困在这个错误上,并试图用error_reporting(E_ALL), 显示错误,但这并不适用于我。信息:我在Strato上使用托管服务。
所有这一切的解决方案都由Floem解答,感谢这个伟大的设置。
如果你没有得到的情况下,错误你把error_reporting(E_ALL)
一次, - >必须另加ini_set('display_errors', 'On')
,迫使PHP来显示你所有的错误。这解决了我的错误问题
然后有可能读出,为什么PHP不会让你的重定向。 我的一个提示:我建议你建立一个小的重定向类,如本视频所示:Redirect Class for easy use,如果你打算使用这个重定向比平常更多。
只需通过删除php标签之前的所有东西来解决它。
php的标签之前删除空格
标签之前选择所有,然后按删除按钮。
如果包含'header()'指令的文件需要直接/间接地在HTML文件中,那么指令{include'someFile'}应该是该HTML文件的第一行。放置在您的HTML文件的顶部该指令,如图this image.
添加
ob_start();
header("location: test.php");
之前,我该怎么办呢?只需点击是或否的反馈? – szatti1489
在PHP中打开error_reporting,error_level等...。你很可能会得到一个“无法发送标题 - 输出已经开始在XXX行”的错误。 –
@mario这不是什么downvotes的意思。因为你喜欢链接到常见问题解答,这里也有一个适合你的问题... [下调应该保留在极端情况下。这并不意味着它可以代替通信和编辑。](http://stackoverflow.com/privileges/vote-down)哦,我会删除我的答案,这实际上帮助他解决了他的问题,但违反了标准。 –