この質問が以前に何度も投稿されたことは知っていますが、エラーが本来の動作をしていないため、とにかく良い答えを見つけることができませんでした.
ご覧のとおり、次のようなコードがあります。
<?php
include("banner.php");
include("menu.php");
print "<div class=\"wrapper\">";
if(true) header("Location:index.php");
else print "Hello World";
print "</div>";
include("footer.php");
?>
banner.php
次のようになります。
<div id=banner><a href=index.php><img src=img/banner.png></a></div>
次のようになりmenu.php
ます。
<ul class="menu">
<li class="dropdown">Menu
<ul>
<a href="test1.php?id=<?php print $id; ?>"><li>Item 1</li></a>
<a href="test2.php?"><li>Item </li></a>
<a href="test3.php"><li>Item 3</li></a>
<a href="test4.php?id=<?php print $id; ?>"><li>Item 4</li></a>
</ul>
</li>
</ul>
にはいくつかの PHP 要素があることに注意してくださいmenu.php
。
最初のコードを実行すると、エラーが発生しますWarning: Cannot modify header information - headers already sent by (output started at /var/www/menu.php:10) in /var/www/test.php on line 5
。10行目menu.php
は最後の行です。コードからメニューを完全に削除してそのままにしておくbanner.php
と、コードは正常に動作します。メニューを含めた直後banner.php
の行と同様に、出力も提供するため、これは紛らわしいと思います。print "<div class=\"wrapper\">";
私の質問は単にこれです:なぜmenu.php
エラーが発生するのに、banner.php
そうでないのですか?