1

このエラーがあり、何年も修正しようとしてきました。それが掲載されているページは昨日正常に動作していたため、どこからともなく現れました。

エラーは次のとおりです。

警告: ヘッダー情報を変更できません - /var/www/dev.racommerce.com/cart.php の (/var/www/dev.racommerce.com/includes/header.php:97 で開始された出力) によって既に送信されたヘッダー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> 
<?}?>

そして、cart.php ファイルの 44 行目のコードは次のとおりです。

header("location: cart.php"); 

PHPで「ヘッダーは既に送信されました」エラーを修正する方法など、他の回答から解決策を研究してきましたが、それらを理解したりコードに実装したりするのに苦労しています。

誰かがこれで私を助けてくれますか?

4

3 に答える 3

4

echo や close php タグのようにヘッダーの前に何も入れることはできません。最初に入れておけば直ります

ob_start();

そして最後に

ob_end_flush();

これにより、すべてがバッファに入れられます。

于 2013-06-21T11:44:59.667 に答える
4

ヘッダーを変更する前にhtmlを出力することはできません

ob_start()最初の行とob_flush最後の行で使用

于 2013-06-21T11:45:17.533 に答える
0

ob_start は問題の解決策ではありません。それは悪いことです。出力がエコーされた後にヘッダーを設定する必要なく、アプリを作成してみてください。より良いアプリケーションを作成できます。お楽しみください ;) D.

于 2013-06-21T12:07:45.867 に答える