2016-05-19 127 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; 
} 
相關問題