我有一个"问题"我的代码。我正在建立学校网站的登录页面,当用户点击"注销"按钮它应该将它们重定向到页面logout.php并且我正在使用header("Location: login.php")
但是当有人点击它时会出现此错误
警告:无法修改标头信息 - 已在D:\ xampp \ htdocs \ testing \ control_panel.php上发送的(已在D:\ xampp \ htdocs \ testing \ dodaci \ menu.php:71开始输出)的标头28
但是当我删除menu.php(这是我的网站的导航菜单,我使用PHP将它包含在我的网站中)一切正常。我不知道是什么问题。
** menu.php **
<div class="navigation">
<ul id="menu">
<li>
<a href="index.php" style="margin-left:0px;">Naslovna </a>
</li>
<li>
<a href="historijat.php">Historijat</a>
</li>
<li><font class="dropdown" >Zaposlenici<span class="icon icon-angle-down"></span></font>
<ul class="sub-menu" style="width:170px;">
<li>
<a href="zaposlenici_profesori.php">Profesori</a>
</li>
<li>
<a href="zaposlenici_pomocno_osoblje.php">Pomoćno osoblje</a>
</li>
</ul>
</li>
<li><font class="dropdown" >Sekcije<span class="icon icon-angle-down"></span></font>
<ul class="sub-menu">
<li>
<a href="sekcije/informatika.php">Informatika</a>
</li>
<li>
<a href="sekcije/matematika">Matematika</a>
</li>
<li>
<a href="sekcije/biologija">Biologija</a>
</li>
</ul>
</li>
<li><font class="dropdown" >Upis u školu<span class="icon icon-angle-down"></span></font>
<ul class="sub-menu" style="width:200px;">
<li>
<a href="Upis/gimnazija.php">Gimnazija</a>
</li>
<li>
<a href="Upis/ekonomska.php">Ekonomska</a>
</li>
<li>
<a href="Upis/sumarski_tehnicar.php">Šumarski tehničar</a>
</li>
<li>
<a href="Upis/trgovacka.php">Trgovačka</a>
</li>
<li>
<a href="Upis/tehnicka.php">Tehnička</a>
</li>
</ul>
</li>
<li> <a href="kontakt.php">Kontakt</a></li>
<li><a href="#"><input style="width:145px;" type="text" name="t1" placeholder="Pretraga Učenika ..."/><input type="submit" name="submit" value="Traži" style="padding:0px 12px 0px 12px;"/></a>
</li>
</ul>
</div>
答案 0 :(得分:0)
当没有其他数据发送到客户端时,您只能发布header()函数。
删除menu.php文件时,我假设您在调用header()函数之前不向客户端发送任何信息。
答案 1 :(得分:0)
为了使header()起作用,需要在调用函数之前不向浏览器发送输出。即使没有打印html,也可以发送输出,但如果PHP标签外有空格,或者使用BOM编码。
如果你必须重定向,我建议使用javascript替代。
<script type="text/javascript">
<!--
window.location = "http://www.google.com/"
//-->
</script>
答案 2 :(得分:0)
如前所述,任何标题调用都必须是页面上要访问的第一个代码。否则,你会遇到问题。
您可以通过JavaScript试用:
<script>window.location = 'http://www.mywebsite.com';</script>