我有一个显示下拉菜单的php网页
下拉菜单提供指向后端脚本的链接,后端脚本将运行查询并设置一些会话变量。然后使用
重定向到结果页面header('Location: search_results.php');
重定向死亡,“无法修改标题信息 - 标题已发送”
试图找到解决这个问题的方法。 “修改标头”错误是一个错误,它始终是当前正在运行的PHP脚本的本地错误?或者它是整个会议?
感谢, JM
答案 0 :(得分:3)
确保您没有在该行之前输出任何内容(例如空格或其他输出)。
一种简单的方法是打开输出缓冲区:
ob_start();
在适当的时候明确说明:
ob_end_clear(); // erases output buffer
// or
ob_end_flush(); // sends output buffer to screen
但是,正确的解决方案是检查代码并确保没有错误的输出语句。
答案 1 :(得分:1)
在不查看代码的情况下,我会猜测您在header
PHP代码之前有HTML。标题需要在HTML之前解析。
答案 2 :(得分:0)
您可以通过在PHP脚本开头发出ob_start()
来尝试使用输出缓冲。
此错误的常见原因是在起始<?php
标记之前有空格(或有时是BOM);标头检查是本地的,它不是会话范围的。另一方面, 受其他包含的PHP文件的影响,所以你也必须检查它们。
答案 3 :(得分:-1)
您可以使用元重定向
<meta http-equiv="refresh" content="2;url=http://google.com/">
以上将在2秒内刷新页面http://google.com/ 然后javascript重定向
<script type='text/javascript'>
document.location.href='http://google.com';
</script>