0

我正在尝试使用 HTML 选择下拉菜单来帮助对我网站上的搜索结果进行排序,但遇到了一些麻烦。在下面的代码中,我专门选择了 Option1,当我在提交表单后尝试回显结果时,它总是回显'FAIL'。我想知道是否有人可以帮助我理解我做错了什么以及在提交表单后从用户选择的选项中检索数据的正确方法是什么?

<?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';
}

?>

谢谢你

4

4 回答 4

3

这是因为名称属性与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

于 2012-05-16T22:49:55.313 回答
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'];

?>
于 2012-05-16T22:50:07.957 回答
0

您需要命名您的选择标签并访问它。

<select name="options"></select>

echo $_POST['options'];会给你你选择的选项

于 2012-05-16T22:49:46.600 回答
0

而不是 name="one" 一个选项需要一个

value="myvalue"

你的选择标签需要一个

name="nameofthisthinghere"
于 2012-05-16T22:49:50.760 回答