我在页面上:index.php?page = 2并且有一个“crteria”和“term”的搜索表单,但每次提交时,都需要我index.php?criteria = x& term = x而不是index.php?page = 2& criteria = x& term = x。所以它忽略了page = 2。另外,我想在同一页面上提交标准和术语。这是代码:
<div id="search">
<form name="search" action="index.php?page=2" method="get">
<p>Search by:</p>
<select name="criteria">
<option>Name</option>
<option>Last name</option>
<option>Project name</option>
</select>
<br><input type="text" name="tern" placeholder="term">
<br><button type="submit">Find`enter code here`</button>
<hr>
</form>
</div>
在index.php上,我包含表单所在的页面,如下所示:
if(isset($_GET['page']) && $_GET['page'] == 2){
include 'modules/search.php';
}
所以,当我在index.php?page = 2时,search.php为我提供了上面可以看到的表单。 我知道,这是一个烂摊子,这是我的第一个项目。提前谢谢。
答案 0 :(得分:-1)
您只需在表单中添加输入隐藏参数,然后将其从操作属性中删除:
<form name="search" action="index.php" method="get">
<input type="hidden" name="page" value="2">
如果有多个参数或参数可能不同,您可以将此代码添加到打印表单的php中:
foreach($_GET as $k => $v){
$k = addslashes($k); //or a DBMS specific escape function
$v = addslashes($v); //or a DBMS specific escape function
echo "<input type='hidden' name='$k' value='$v' />";
}