这是我搜索栏和下拉列表的html。
<form action='seniorProjectLanding.php' method='POST' class='form-group'>
<div class="form-horizontal" align="center">
<input type="text" name="searchResults"
class="form-control"
placeholder="Search"
style="width:80%; max-width:80%; display:inline-block"/>
<button type="submit"
class="btn btn-primary"
name="submit"
style="margin-left:-8px; margin-top:-2px; min-height:36px;">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<div class="row" align="center">
<div class="form-group" style="width: 50%" align="center">
<select id="dropdownForm" name="sortDropdown" class="form-control">
<option value="Name">Item Name</option>;
<option value="LocationID">Location</option>;
<option value="CategoryID">Category</option>;
<option value="Quantity">Quantity</option>;
<option value="LastQuantityUpdate">Most Recently Updated</option>;
</select>
</div>
</div>
</form>
这就是PHP。
if (isset($_POST["submit"])) {
$searchResults = $_POST["searchResults"];
$dropdownSelection = $_GET["dropdownForm"];
if ($searchResults !== "") {
header("Location: test2.php?sortBy=".$dropdownSelection."&searchResults=".$searchResults);
}
else {
header("Location: test2.php?sortBy=".$dropdownSelection);
}
}
我已经使用搜索框中的输入工作了,但似乎无法使用此下拉菜单及其选定的选项值。
答案 0 :(得分:0)
尝试添加提交按钮...
定义提交按钮(用于提交表单)。
<input type="submit">
定义了一个用于将表单数据提交给表单处理程序的按钮。
表单处理程序通常是一个服务器页面,其中包含用于处理输入数据的脚本。
表单处理程序在表单的action属性中指定。
尝试使用:
<form action="test1.php" method="POST" class="form-group">
<div class="row" align="center">
<div class="form-group" style="width: 50%" align="center">
<select id="dropdownForm" name="sortDropdown" class="form-control">
<option value="Name">Item Name</option>;
<option value="LocationID">Location</option>;
<option value="CategoryID">Category</option>;
<option value="Quantity">Quantity</option>;
<option value="LastQuantityUpdate">Most Recently Updated</option>;
</select>
</div>
</div>
<input type="submit" name="submit" value="Submit" />
</form>
文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/submit
答案 1 :(得分:0)
如果您想要在查询字符串中添加参数,则需要使用带有GET method
的表单。然后,当您提交表单时,其数据将添加到查询字符串中(即用于过滤/排序搜索结果):
<form action="test1.php" method="GET">
<select name="sort_by">
<option value="name">Name</option>
<!-- and so on -->
</select>
<button type="submit">Submit</button>
</form>
如果选择了名称选项,这将提交到 test1.php?sort_by = name 。
您可以根据需要添加更多字段。然后,您还可以使用$_GET
来访问这些值:
$sort_by = $_GET['sort_by'];
答案 2 :(得分:0)
您正在发帖但正在尝试访问get变量。此外,您使用的是控件ID dropdownForm
,而不是名称sortDropdown
:
$dropdownSelection = $_GET["dropdownForm"];
应该是:
$dropdownSelection = $_POST["sortDropdown"];
使用错误报告:
error_reporting(E_ALL);
ini_set('display_errors', '1');
本来会给你这个:
注意:未定义的索引:第X行的/path/to/file.php中的dropdownForm