重新加载加载了GET请求的页面

时间:2015-03-10 17:31:49

标签: php

index.php中的

我根据PHP请求加载一个php页面:

<div id="mainContent">
    <?php
        if(isset($_GET['incidentsView'])) {
            include ("incidents.php");
        }
    ?>
</div>

导航

<div class="sidebar-nav navbar-collapse" id="sidebarNavigationList">
        <ul class="nav in" id="side-menu">
            <li><a href="index.php?incidentsView" id="pageIncidents">Einsatzliste</a></li>
        </ul>
    </div>

incidents.php页面本身包含一个表单,其中在POST变量中评估提交按钮:

if(isset($_POST['submit'])) {
    header('Location: '.$_SERVER['REQUEST_URI']);
}

以便在按下提交按钮时重新加载页面。在此页面中是一个显示SQL DB内容的表。点击提交按钮后,所有内容都会刷新,包括带有新数据的表格。如果我直接加载incidents.php,那很好。但是,当我加载index.php并将incidents.php包含在index.php中时,按下按钮,根本没有任何内容刷新。只有当我再次单击菜单中的链接时。我怎么需要重写我的代码,即使我在index.php上,这个刷新工作正常?

1 个答案:

答案 0 :(得分:0)

在输出一些HTML(incidents.php)之后,您将<div id="mainContent"> 包括在内,并且在您之后无法发送header()已输出一些内容。您有两个选择:

  1. 重做代码,以便在任何HTML之前调用header()
  2. 使用incidents.php中的JavaScript重定向代替:

    if(isset($_POST['submit'])) {
        echo '<script>location.href = ' . $_SERVER['REQUEST_URI']) . ';</script>';
    }