我正在尝试使用HTML select下拉菜单来帮助对我网站上的搜索结果进行排序,而我遇到了一些麻烦。在下面的代码中,我特意选择了Option1,当我在提交表单后尝试回显结果时,它总是回显'失败'。我想知道是否有人可以帮我理解我做错了什么,以及在提交表单后从用户选择的选项中检索数据的正确方法是什么?
<?php
echo '<form method="post" action="search.php">
<select>
<option name="one">Option1 </option>
<option name="two">Option2</option>
</select>
<input type="text" name="searchword" />
<input type="submit" value="Search" />
</form>';
if(isset($_POST['one'])){
echo 'Option1 is set';
}else{
echo 'FAIL';
}
?>
谢谢
答案 0 :(得分:3)
这是因为name属性带有select
标记。
<select name="dropdown">
<option>Option 1</option>
<option>Option 1</option>
</select>
if(isset($_POST['dropdown'])) {
echo $_POST['dropdown']; //echoes 'Option 1'
}
如果您愿意,可以在value
元素中添加option
属性,但不必如此。
如果你这样做
<option value="foobar">Option1</option>
表单将发布foobar
而非Option1
。
答案 1 :(得分:1)
<?php
echo '<form method="post" action="search.php">
<select name="my_option">
<option value="one">Option1 </option>
<option value="two">Option2</option>
</select>
<input type="text" name="searchword" />
<input type="submit" value="Search" />
</form>';
echo "My option value is : " . $_POST['my_option'];
?>
答案 2 :(得分:0)
您需要为您的选择标记命名并访问它。
<select name="options"></select>
echo $_POST['options'];
会为您提供所选的选项
答案 3 :(得分:0)
而不是name =“one”,选项需要
value="myvalue"
并且您的选择标记需要
name="nameofthisthinghere"