可能重复:
PHP 已发送的标头
我从另一个开发人员那里继承了这个网站 taxquest.com,并且 Web 表单给了我一个关于我不熟悉的标头的错误:警告:无法修改标头信息 - 标头已经发送(输出开始于 /home/taxquest/public_html /includes/header.php:27) 在第 11 行的 /home/taxquest/public_html/mailer2.php
表单正确发送电子邮件,但随后进入重定向循环。
在这里的任何帮助将不胜感激。
真诚的,罗杰
可能重复:
PHP 已发送的标头
我从另一个开发人员那里继承了这个网站 taxquest.com,并且 Web 表单给了我一个关于我不熟悉的标头的错误:警告:无法修改标头信息 - 标头已经发送(输出开始于 /home/taxquest/public_html /includes/header.php:27) 在第 11 行的 /home/taxquest/public_html/mailer2.php
表单正确发送电子邮件,但随后进入重定向循环。
在这里的任何帮助将不胜感激。
真诚的,罗杰
在输出任何内容之前,您需要有 header() 语句,这包括空格。某些文档(例如以 ANSI 保存的文档)有时会在文档的开头放置空格。如果我将在这篇文章中添加的代码对您没有帮助,请尝试使用不同的编码(如 UTF-8)打开它。
错误的:
<html>
<head>
<title><?="Example"; ?></title>
</head>
<?php
header("location: ../");
?>
正确的:
<?php
header("location: ../");
?>
<html>
<head>
<title>Example</title>
</head>
有时 php 文件末尾不需要的/额外的空格/新行会导致此错误。如果它们存在,请尝试删除它们。特别是在第 27 行的 header.php 中。
如果它们不存在,您可能正在尝试在页面已经发送到浏览器的情况下修改/设置新的标头参数。如果您可以发布一些代码,这个答案可以更具体。
你的 header() 函数应该在 HTML 标签之前。
警告:无法修改标头信息 - 标头已由第 11 行 /home/taxquest/public_html/mailer2.php 中的(输出开始于 /home/taxquest/public_html/includes/header.php:27)发送
这是因为您在两个文件中都有标题。(session_start 之类的)您可以尝试在 mailer2.php 之后包含 header.php 并在不必要时从 header 中删除这些行。
并且:在您的 headers 之前应该没有输出。(对不起我的英语不好。)