php中的多个选择表单

时间:2013-01-27 14:39:50

标签: php forms

我的HTML表单中包含以下内容,以及其他输入,例如<input type="test" name="foo"></input>和其他输入。

<select name="tags" multiple="multiple">
  <option selected="selected" value="hello">hello</option>
  <option selected="selected" value="world">word</option>
</select>

问题在于我正在使用

var_dump($_POST);

返回的标签是一个字符串,它只包含select中的最后一项,如下所示:

string(5) "world"

有任何帮助吗?

4 个答案:

答案 0 :(得分:1)

您的HTML应该表明它正在提交数组:

<select name="tags[]" multiple="multiple">

(请注意[]

答案 1 :(得分:0)

尝试使用以下代码。名称应为name="tags[]"。如果你的名字就像name =“tags”那么它只传递一个值,如果你想传递多个值,你应该把它命名为数组。

<select name="tags[]" multiple="multiple">
  <option selected="selected" value="hello">hello</option>
  <option selected="selected" value="world">word</option>
</select>

答案 2 :(得分:0)

您的代码应如下所示:

<select name="tags[]" multiple="multiple">
   <option selected="selected" value="hello">hello</option>
   <option value="world">word</option>
</select>

请不要对每个选项使用selected =“selected”。 Selected =“selected”应仅用于一个选项,该选项默认显示!这非常重要!

答案 3 :(得分:0)

使用name="tags[]"传递数组的方式

然后你可以使用

if(isset($_POST['tags'])){
    foreach($_POST['tags'] AS $value){
        echo $value;
    }
}

在这种情况下,请务必在表单标记中设置method="post"

您可以毫无问题地使用selected="selected"