尝试使用“标头”功能重定向到另一个页面时出现Php未知错误

时间:2014-09-17 12:05:52

标签: php html login

我有一个"问题"我的代码。我正在建立学校网站的登录页面,当用户点击"注销"按钮它应该将它们重定向到页面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>

3 个答案:

答案 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>