我有这个错误,我已经尝试修复它很长时间了。它似乎是凭空出现的,因为它所在的页面昨天运行良好。
错误是:
警告:无法修改标头信息-标头已由(输出起始于/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.