■失敗例(HTML側)
ソース
<form action="test.php" method="post"> <ol> <li><input type="checkbox" name="check" value="check1" /></li> <li><input type="checkbox" name="check" value="check2" /></li> <li><input type="checkbox" name="check" value="check3" /></li> <li><input type="checkbox" name="check" value="check4" /></li> <li><input type="checkbox" name="check" value="check5" /></li> <li><input type="checkbox" name="check" value="check6" /></li> <li><input type="checkbox" name="check" value="check7" /></li> <li><input type="checkbox" name="check" value="check8" /></li> <li><input type="checkbox" name="check" value="check9" /></li> <li><input type="checkbox" name="check" value="check10" /></li> </ol> <input type="submit" value="submit" /> </form>
受信データ($_POST[‘check’]の中身)
たとえば6番目と10番目がチェックされていた場合は、「check10」のみ、1つのデータしか読み出せない。
■解決策(HTML側)
ソース
<form action="test.php" method="post"> <ol> <li><input type="checkbox" name="check[]" value="check1" /></li> <li><input type="checkbox" name="check[]" value="check2" /></li> <li><input type="checkbox" name="check[]" value="check3" /></li> <li><input type="checkbox" name="check[]" value="check4" /></li> <li><input type="checkbox" name="check[]" value="check5" /></li> <li><input type="checkbox" name="check[]" value="check6" /></li> <li><input type="checkbox" name="check[]" value="check7" /></li> <li><input type="checkbox" name="check[]" value="check8" /></li> <li><input type="checkbox" name="check[]" value="check9" /></li> <li><input type="checkbox" name="check[]" value="check10" /></li> </ol> <input type="submit" value="submit" /> </form>
理由
name属性値の末尾に[]の記述がない場合、配列としてPHPが受け取れない為
ピンバック: ぱふぅ家のホームページ