2016-05-19 19 views
4

ユーザーがドロップダウンメニューから複数のオプションを選択できるフォームを作成しようとしています。この形式は、次のようになります。このフォーム入力の出力を配列にするにはどうすればよいですか?

PHPファイルは、次の簡単なコードが含まれ
<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 

if($_POST){ 

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

} 

?> 

このコードの最終結果は、あなたが複数のオプションを選択することができ、そこからドロップダウンメニューです。ただし、[送信]をクリックすると、ユーザーが選択したオプションの1つだけエコー表示されます。

ユーザーが選択したすべてのオプションの配列を作成するにはどうすればよいですか?

答えて

13

てみPHP側について

<select name='tag[]' multiple> 

<select name='tag' multiple>への変更:

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

これは完全に機能しました。ご協力ありがとうございました。 –

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

このコードブロックは質問に答えるかもしれませんが、それがなぜそうするのかについて少し説明することができればそれが最もよいでしょう。 – Rakete1111

0

あなたは これに本からあなたのselectタグを変更することができます。

<select name='tag[]' multiple> 

にPHP:

foreach ($_POST['tag'] as $option_selected){ 
    echo $option_selected; 
} 
関連する問題