3 回答
TA贡献1775条经验 获得超8个赞
header()一旦将文本输出到浏览器,就无法使用。由于您的header.php包含可能输出HTML,header()因此无法使用。
您可以通过以下几种方式解决此问题:
将if语句移到标题include上方(这不起作用,正如您在注释中指出的那样header.php设置了uid会话和其他重要内容)。
ob_start()在脚本顶部调用以缓冲输出。
TA贡献1776条经验 获得超12个赞
发送任何其他内容后,您无法发送任何标头。很可能是罪魁祸首是?>header.php中结束标记后的额外空格。在任何仅限脚本的php文件中完全省略结束标记通常是一种很好的做法。
您的错误应该告诉您发送输出的确切行(以及哪个文件)。
TA贡献1846条经验 获得超7个赞
我遇到了一个类似的错误(也似乎无处不在)关于Redirect函数,它曾经如下:
function Redirect($url) {
flush(); // Flush the buffer
header("Location: $url"); // Rewrite the header
die;
}
显然,您还需要添加ob_flush();以完全清除旧标头。新功能是:
function Redirect($url) {
flush(); // Flush the buffer
ob_flush();
header("Location: $url"); // Rewrite the header
die;
}
希望这可以帮助别人解决这个问题!
- 3 回答
- 0 关注
- 817 浏览
添加回答
举报