我是PHP的新手并且遇到了一些问题。我尝试使用两个参数设置get请求。例如,URL应如下所示:
search.php?query=Harry+Potter&page=movies
问题是,我得到了两个参数'查询'和'页'从两种不同的形式。
我的代码如下:
表格1:
<form action="search.php" method="get" class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="query">
<div class="input-group-btn">
<button class="btn btn-default c-nav-btn-height" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
表格2:
<form class="btn-group-vertical" action="search.php" method="get">
<button id="bMovies" class="btn active-menu" type="submit" name="page" value="movies">Filme</button>
<button id="bSeries" class="btn" type="submit" name="page" value="series">Serien</button>
</form>
是否有可能在一个获取请求中组合两个表单?
答案 0 :(得分:1)
我能够通过评论部分的帮助解决问题 - 感谢@Magnus Eriksson。不幸的是,他删除了一些评论,所以我将自己回答这些问题。
为了澄清,我知道这肯定不是最好的方法,但是地狱呀,它有效!
<强>解决方案:强>
隐藏的输入字段为我做了。我在每种形式中添加了一个隐藏的输入字段:
表格1:
<form action="search.php" method="get" class="navbar-form" role="search">
<div class="input-group">
<input type="hidden" name="page" value="movies">
<input type="text" class="form-control" placeholder="Search" name="query">
<div class="input-group-btn">
<button class="btn btn-default c-nav-btn-height" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
表格2:
<form class="btn-group-vertical" action="search.php" method="get">
<button id="bMovies" class="btn active-menu" type="submit" name="page" value="movies">Filme</button>
<button id="bSeries" class="btn" type="submit" name="page" value="series">Serien</button>
<input id="hiddenField" type="hidden" name="query" value="">
</form>
所以我添加了一个隐藏的输入字段,名为&#34; page&#34;在第一种形式和一个名为&#34; query&#34;的隐藏输入字段中在第二种形式。通过这个小技巧,我可以在两种形式中获得相同的信息,但只显示我想要显示的字段。
由于首先提交了 Form 1 ,因此可以将可见输入字段的值复制到 Form 2 中的不可见输入字段中。我只需要一些额外的PHP和JavaScript。
$query = $_GET["query"];
$page = $_GET["page"];
if ($page == "movies" || $page == "series") {
echo "<script>";
echo 'document.getElementById("hiddenField").value = "'. $query .'" ;';
echo "</script>";
}
else {
}
我将第一张表格中的两个参数存储到变量中,并检查$page
是否是电影&#39;或者&#39;系列&#39;,因为此网站上只允许这两个选项。如果是真的,它会回复一些JavaScript,它将$query
变量添加为第二种形式的隐藏输入字段的值。
而且,我知道会有更好的方法来实现它,但它对我有用,我想与你分享。
答案 1 :(得分:0)