header ("Location: URL); Error


header ("Location: URL); Error

在没有头信息重定向的情况下,插入效果很好。我的问题是我正在使用mysql与面向对象的方法,仍然是新的。当我在头部重定向时它会在浏览器中告诉我

"警告:无法修改报头信息-报头已由(从/home/hawkwsco/public_html/admin/include/template/doc.inc.php开始输出:1)在/home/hawkwsco/public_html/admin/include/library/functions/process/process.inc.php第10行"

我的代码如下:

<?php
require ($_SERVER['DOCUMENT_ROOT'].'/admin/include/config/config.inc.php');
$query = ("INSERT INTO page(pa_id, pa_page, pa_page_info) VALUES ('NULL', '{$_POST['page']}', '{$_POST['info']}')");
$mysqli->query($query);
header("Location: http://".$_SERVER['SERVER_NAME']."/admin/content.php");
exit;
?>

我做错了什么?

很可能您包含的文件中有一些文本正在输出(甚至文件末尾的换行符就足够了),导致输出在头文件发送之前开始。我通常确保我的include末尾没有?>来避免这个问题。

或者,您可以使用输出缓冲(ob_start())来避免在准备好之前发送任何输出。Ob_start()必须在任何输出生效之前调用。