在表单中使用选择下拉列表

时间:2012-05-16 22:47:53

标签: php html

我正在尝试使用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';
}

?>

谢谢

4 个答案:

答案 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"