select タグのオプションに multiple を付けた場合、selectタグのnameオプションを「name=”select[]”」のように書く。
<form method="post" action="******.php"> <select name="select[]" multiple> <option value="opt_1">option1</option> <option value="opt_2">option2</option> <option value="opt_3">option3</option> <option value="opt_4">option4</option> <option value="opt_5">option5</option> <option value="opt_6">option6</option> </select> </form>
そして受け側で
print_r($_POST);
としてみると以下のような配列で受け取れる。
Array ( [select] => Array ( [1] => option1 [2] => option2 [3] => option3 ) )
さらにこれはselectタグに限らず、ほかのinputタグなどでも応用できる。
<form method="post" action="******.php"> <input type="text" name="hoge" value="ほげほげ" /> <input type="text" name="hoge1[u]" value="うがうが" /> <input type="text" name="hoge1[d]" value="どんどん" /> <input type="text" name="hoge1[p]" value="ぴよぴよ" /> <input type="text" name="hoge2[]" value="もげもげ" /> <input type="text" name="hoge2[]" value="うらうら" /> <input type="text" name="hoge2[]" value="むだむだ" /> </form>
とすると、、、
Array ( [hoge] => ほげほげ [hoge1] => Array ( [u] => うがうが [d] => どんどん [p] => ぴよぴよ ) [hoge2] => Array ( [0] => もげもげ [1] => うらうら [2] => むだむだ ) )
となる。
う~ん。PHPさん、、、、、ちょっと無理矢理感が・・・・・
あれ?あれ?これは、はいぱ~・てきすと・とらんすふぁ・ぷろとこる の仕様ってこと???