在索引中.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>
事件.php页面本身包含一个表单,其中正在 POST 变量中评估提交按钮:
if(isset($_POST['submit'])) {
header('Location: '.$_SERVER['REQUEST_URI']);
}
以便在按下提交按钮时重新加载页面。此页中有一个显示 SQL 数据库内容的表。点击提交按钮后,所有内容都会刷新,包括包含新数据的表格。如果我直接加载事件,这工作正常.php。但是当我加载索引.php并且事件.php包含在 index.php 中,并且我按下按钮时,根本没有刷新任何内容。仅当我再次单击菜单中的链接时。我需要如何重写我的代码,即使我在 index.php 上,此刷新也在工作?
您在输出某些 HTML ( <div id="mainContent">
) 后包含incidents.php
,并且在已经输出某些内容后无法发送header()
。您有 2 个选项:
- 重新编写代码,以便在任何 HTML 之前调用
header()
。 -
请改用 JavaScript 重定向
incidents.php
:if(isset($_POST['submit'])) { echo '<script>location.href = ' . $_SERVER['REQUEST_URI']) . ';</script>'; }