2016-05-19 72 views
4

我正在尝试创建一个表单,用户可以从下拉菜单中选择多个选项。这种形式看起来像下面这样:如何让这个表单的输出输入一个数组?

<html> 

<form method='post'> 
<select name='tag' multiple> 
<option value='opt1'>Option 1</option> 
<option value='opt2'>Option 2</option> 
<option value='opt3'>Option 3</option> 
<option value='opt4'>Option 4</option> 
<option value='opt5'>Option 5</option> 
</select> 
<input type='submit' Value='Submit'> 
</form> 

<? include('select.php'); ?> 

</html> 

当PHP文件包含以下简单的代码:

<?php 

if($_POST){ 

$tag = $_POST['tag']; 
echo $tag; 

} 

?> 

这段代码的最终结果是一个下拉菜单,从中可以选择多个选项。但是,当您单击提交时,它只会响应用户选择的其中一个选项。

如何制作用户选择的所有选项的数组?

回答

13

尝试更改到<select name='tag' multiple>

<select name='tag[]' multiple> 

对于PHP方面:

foreach ($_POST['tag'] as $selectedOption){ 
    echo $selectedOption."\n"; 
} 
+0

完美运作。感谢您的帮助。 –

0
<select name='tag[]' multiple> 
+2

虽然这个代码块可能会回答这个问题,但最好能提供一些解释它为什么这样做。 – Rakete1111

0

可以从此您选择标签更改为 此:

<select name='tag[]' multiple> 

在PHP:

foreach ($_POST['tag'] as $option_selected){ 
    echo $option_selected; 
} 
相关问题