如何在PHP中重新加载页面或表单。
场景:我有两个具有相同设计/ gui的表单。我把它命名为main.php和process.php。 这两个页面都有下拉列表,相同的项目。下拉列表中的项目是“Net 1”和“Net 2”,“Net 1”下面的项目是“Bldg 1”,“Net 2”下面的项目是“Bldg 2”。所以在main.php中,当我点击提交时,它将进入process.php。然后process.php将在main.php的下拉列表中显示我选择的项目的项目。
我的问题是: 当用户想要查看“Net 2”下的项目时。我想要的是,在button_process.php的页面中只会重新加载或刷新数据,以便用户看到“Net 2”的项目,我该怎么办?
main.php的代码:
<form action="process.php" method="post">
Advertisement Name: <input type="text" name="adName" size="50"><br/><br/>
Duration: <select id="duration"name="duration">
<option value="5 s" >5 s</option>
<option value="10 s" >10 s</option>
<option value="15 s" >15 s</option>
<option value="20 s" >20 s</option>
<option value="30 s" >30 s</option>
<option value="60 s" >60 s</option>
</select><br/><br/>
<b>Period</b> <br/>
From: <input type="text" id="datepickerfrom"name="from"> To: <input type="text" id="datepickerto"name="to">
<span id="span_select">
<select name="id">
<option value="" >- select -</option>
<?php
include 'connect.php';
$q = mysql_query("select fldNetname from tblnetwork");
while ($row1 = mysql_fetch_array($q))
{
echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";
}
?>
</select>
</span>
<input type="submit" name="pass" value="View Building/s">
</form>
Here's my Code for
process.php: 编辑:
<form action="button_process.php" method="post">
echo "<div><input type='checkbox' class='checkall'> Check all</div>";
$all = mysql_query("SELECT fldBldgName FROM tblbuildings");
while ($row = mysql_fetch_array($all))
{
echo "<div><input type='checkbox' name='play[]' class='chk_boxes1' value='" . $row['fldBldgName']."'>";
echo $row['fldBldgName'];"</div>";
}
<input type="submit" name="pass" value="View Building/s">
</form>
button_process.php的代码
<?php
include("connect.php");
switch ($_POST['pass']) {
case 'View':
//here I want to reload the page.
break;
case 'Save':
echo "Add";
break;
}
?>
答案 0 :(得分:0)
如果重新加载页面需要用户操作,您将无法使用PHP重新加载页面,在这种情况下,您将不得不使用Javascript。
如果您想使用PHP重新加载页面,这将在页面加载时以及在输出任何html代码之前发生,您可以使用:
header('Location: '.$_SERVER['REQUEST_URI']);
如果要在用户执行操作后刷新页面,则需要在元素上使用javascript事件方法(例如,按钮上的onmple,onclick()),并且在方法中可以使用以下代码:
window.location.reload();
如果这还不足以回答您的问题,请提供有关您要执行的操作的详细信息。有一种比你正在做的更好的方法,有更多的细节,我们可以帮助你更多。
答案 1 :(得分:0)
在不同页面上设置扩展菜单的快速而肮脏的示例。首先构建菜单项,然后使用php脚本将父菜单项设置为active
css样式,并让css样式给出正确的隐藏/显示样式。
HTML
<div class="menu">
<div class="menuitem <?php echo $Page=="Net 1" ? "active" : "";?>">
<span>Net 1</span>
<div class="submenu">
<div class="submenuitem">
<span>Bldg 1</span>
</div>
</div>
</div>
</div> class="menuitem <?php echo $Page=="Net 2" ? "active" : "";?>">
<span>Net 2</span>
<div class="submenu">
<div class="submenuitem">
<span>Bldg 2</span>
</div>
</div>
</div>
</div>
CSS
.menuitem .submenu {
display:none;
}
.menuitem.active .submenu {
display:block;
}
其中$Page
是一个php变量,它包含菜单项的名称,或者你想告诉你的脚本用户所在的菜单项。