ob_start()和ob_end_flush()的PHP头问题

前端之家收集整理的这篇文章主要介绍了ob_start()和ob_end_flush()的PHP头问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我在页面的开头使用ob_start()而在结尾使用ob_end_flush()时,我遇到了头问题.因为我在一些查询执行后使用头函数.
ob_start();
 include_once("header.PHP");
 global $db;

 $countstmt="SELECT COUNT(*) FROM tbl_lib_hours dh WHERE book_id IN(SELECT book_id FROM tbl_book WHERE user_id=".$_SESSION['uid'].") ";       
 $delHourExist=$db->query($countstmt);  
 if($delHourExist){
      header("location:edit_delivery_hours.PHP");
 }
 ....
include_once('footer.PHP');
ob_end_flush();

在header.PHP中我还添加了ob_start();在footer.PHP中我添加了ob_end_flush();,但我认为这不是问题,虽然其他页面使用我在上面写的相同脚本运行

我得到的错误

Warning: Cannot modify header information – headers already sent in D:\xampp\htdocs\project\add_book_hours.PHP on line 9

我有点困惑,警告消息不包括导致第一个内容被发送到客户端的代码的位置.功能 headers_sent()也可以返回该位置.因此,出于调试目的,请尝试
if($delHourExist)
{
  if ( headers_sent($path,$lineno) ) {
    echo '<pre>Debug: output started at ',$path,':',$lineno,"</pre>\n";
  }
  header("location: edit_delivery_hours.PHP");
}
原文链接:https://www.f2er.com/php/138893.html

猜你在找的PHP相关文章