PHP错误“;不能修改标题信息”;


PHP error "Can not modify header information"

我有这个错误,我已经尝试修复它很长时间了。它似乎是凭空出现的,因为它所在的页面昨天运行良好。

错误是:

警告:无法修改标头信息-标头已由(输出起始于/var/www/dev.racommerce.com/includes/header.php:97)在/var/www/dev.racommernce.com/cart.php第44行中发送

第97行的header.php文件中的代码是:

<?for($i = 0; $i < $count; $i++) 
{?> 
  <li><a class="dropDown" href="<?="http://" . $_SERVER['HTTP_HOST'];?>/products.php?cat=<?=$result[$i]['categoryID']?>"><?=$result[$i]['categoryName']?></a></li> 
<?}?>

第44行的cart.php文件中的代码是:

header("location: cart.php"); 

我一直在研究其他答案的解决方案,例如"如何修复";标头已发送";PHP中的错误,但我很难理解它们或在代码中实现它们。

有人能帮我做这个吗?

您不能在头之前放入任何东西,比如echo或close php标记。如果你把放在一开始,你可以修复它

ob_start();

最后

ob_end_flush();

这将把所有东西都放入缓冲区。

在修改头之前不能输出html

在第一行使用ob_start(),在最后一行使用ob_flush

ob_start不是解决您问题的方法。这是一件坏事。在输出得到响应后,尝试在不需要设置标题的情况下编写应用程序。你会写出更好的应用程序。享受;)D.