PHP Header issue with ob_start() and ob_end_flush()(ob_start() 和 ob_end_flush() 的 PHP 标头问题)
问题描述
我在页面开头使用 ob_start()
并在最后使用 ob_end_flush()
时遇到标题问题.因为我在执行一些查询后使用了 header 函数.
I get header problem while I use ob_start()
in the beginning of a page and ob_end_flush()
at the end. Because I use header function after some query execution.
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(); ,但我认为这不是问题,尽管其他页面正在使用我上面编写的相同脚本运行
In header.php there I also added ob_start(); and in footer.php i added ob_end_flush(); , but I think that is not problem, although other pages are running with same script I write above
我得到的错误:
警告:无法修改标头信息 - 标头已在第 9 行的 D:xampphtdocsprojectadd_book_hours.php 中发送
Warning: Cannot modify header information - headers already sent in D:xampphtdocsprojectadd_book_hours.php on line 9
推荐答案
我有点困惑,警告消息不包含导致第一个内容发送到客户端的代码的位置.headers_sent() 函数也可以返回该位置.因此,出于调试目的,请尝试
I'm a bit baffled the warning message doesn't include the location of the code that caused the first content to be sent to the client. The function headers_sent() can return that location, too. So, for debugging purposes, please try
if($delHourExist)
{
if ( headers_sent($path, $lineno) ) {
echo '<pre>Debug: output started at ', $path, ':', $lineno, "</pre>
";
}
header("location: edit_delivery_hours.php");
}
这篇关于ob_start() 和 ob_end_flush() 的 PHP 标头问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ob_start() 和 ob_end_flush() 的 PHP 标头问题
基础教程推荐
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01