我创建了一个PHP票务系统。将我的脚本上传到网页时,重定向到第二页时出现以下错误:
警告:无法修改标题信息 - 已在第29行开始的...输出已发送的标题。
使用wampserver在我的本地电脑上进行开发时没有出现此错误。
票证PHP包含两个页面:
我意识到我收到此错误,因为我在重定向到另一个页面之前输出HTML。我该如何解决这个问题? (因为我必须输出HTML)
亲切的问候
答案 0 :(得分:0)
这条消息也使我多次受挫。这个解决方案应该解决它:
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=newurl.php">';
content="0;
中的数字零表示重定向前暂停的秒数。
我认为不用说你必须用所需的页面名称替换newurl.php
...只是说......
由于上面有它的批评者,虽然我自己使用它没有可观察到的负面结果,但这里有一些选择:
Redirects - alternative to "<meta http-equiv='refresh' />"?
Sam Dufel在上面的评论中链接的文章很神奇:
答案 1 :(得分:0)
在致电header()
或session_start()
<?php
之前的任何地方都没有空格?>
error_reporting
中将E_ALL
更改为display_errors
,将On
更改为php.ini
,然后再次运行您的应用程序并查看是否存在任何错误。修复它们。答案 2 :(得分:-1)
冒这个殉难的风险,但你可以让javascript重定向你:
<?php
// instead of header('Location: someURL.php');
die('<script>window.location = \'someURL.php\';</script>');
?>
否则,请勿在{{1}}来电之前输出 ANYTHING 。遵循规则和快乐编码=)