下面的代码工作正常,它会返回一个导航链接列表,并为它们提供独特的颜色,但为什么要添加
'<div title="Home" id="logo" onclick="window.location = \''.SITE_ROOT.'\';"></div>'
给我标头输出错误?
删除它使它工作正常。
即使<div></div>
也会给我一个错误。我知道这是因为我正在提前输出,但是如果我删除了这个<div>
,那么它之前仍然有一个div,它不会造成任何问题。
<?php
function printNavagation($this){
$i = 0; $n = 0; $x = count($this);
echo '<div class="navagation"><div title="Home" id="logo" onclick="window.location = \''.SITE_ROOT.'\';"></div><ol><li class="libreak">|</li>';
while ($i < $x){
$link[$i] = $this[$i]; // Link is same as name
// Except theese:
if ($link[$i] == 'home'){$link[$i] = '';} else if ($link[$i] == 'djs'){$this[$i] = 'DJs'; $link[$i] = 'djs/home';}
// set onhover colors
if('1' == $n){$color = 'pink';} else if('2' == $n){$color = 'green';} else if('3' == $n){$color = 'yellow';} else {$color = 'blue';}
echo '<li class="'.$color.'"><a href="'.SITE_ROOT.'/'.$link[$i].'">'.ucfirst($this[$i]).'</a></li><li class="libreak">|</li>'; //wrap results
$i++; $n++; if($n >= 4){$n = 0;} // reset alternating color counter
}
echo'</ol></div>';
}
?>
答案 0 :(得分:2)
缓冲区正在填满,并被发送到服务器,然后发送到客户端。
删除该行代码可能会使输出足够小,以至于缓冲区尚未满。
输出内容后不输出标题。虽然您可以重新配置输出缓冲以使其工作,但这是不好的做法。稍后,您的服务器将被重新配置,您会想知道为什么您的代码被破坏了。