header()无法在特定的行中工作

时间:2012-05-30 09:59:09

标签: php html

我有两个li标签与PHP结合用于字典目的:

<li <?php echo "title='".$this->text['tt-statistics']."'" ;?> ><a <?php if($location == "analytics") {echo 'id="current"';  } ?> href="analytics-dash.php"><?php echo $this->text['statistics'];?></a></li>         
<li <?php echo "title='".$this->text['tt-logins']."'" ;?>  ><a <?php if($location == "settings") {echo 'id="current"';  } ?> href="settings-producer.php"><?php echo $this->text['manage-logins'];?></a></li>

如果我在header()之后(在第一个$this->text['statistics'];的末尾)放置li命令,请执行以下操作:

<li <?php echo "title='".$this->text['tt-statistics']."'" ;?> ><a <?php if($location == "analytics") {echo 'id="current"';  } ?> href="analytics-dash.php"><?php echo $this->text['statistics']; header('Location: http://www.example.com/');?></a></li>
<li <?php echo "title='".$this->text['tt-logins']."'" ;?>  ><a <?php if($location == "settings") {echo 'id="current"';  } ?> href="settings-producer.php"><?php echo $this->text['manage-logins'];?></a></li>

header命令工作正常。

但如果我把它放在第二个li的开头,就像这样:

<li <?php echo "title='".$this->text['tt-statistics']."'" ;?> ><a <?php if($location == "analytics") {echo 'id="current"';  } ?> href="analytics-dash.php"><?php echo $this->text['statistics'];?></a></li>
<li <?php header('Location: http://www.example.com/'); echo "title='".$this->text['tt-logins']."'" ;?>  ><a <?php if($location == "settings") {echo 'id="current"';  } ?> href="settings-producer.php"><?php echo $this->text['manage-logins'];?></a></li>

它不起作用。

我知道在发送任何实际输出之前必须调用标题。但我不明白为什么或在哪里打印输出会弄乱{2}之间的header()

2 个答案:

答案 0 :(得分:0)

您的示例的第一个字符实际上是已经发送的输出。

答案 1 :(得分:0)

您的输出在<?php标记之前开始。