• ベストアンサー

チェックボックスのデータの受け取り方について

以下のようなチェックボックスを作ったとき、 test.phpではどうやって受け取ればよいのでしょうか? nameがそれぞれ違う場合は分かるのですが... 教えてください。 <form method="POST" action="test.php"> <input type="checkbox" name="color" value="red">赤</input> <input type="checkbox" name="color" value="blue">青</input> <input type="checkbox" name="color" value="white">白</input> <input type="checkbox" name="color" value="black">黒</input> <input type="submit" value="送信" > </form>

質問者が選んだベストアンサー

  • ベストアンサー
  • sisya
  • ベストアンサー率39% (97/244)
回答No.1

nameを"color[]"にしてください。 こうすることで $_POST['color']に配列が代入されます 例)選択項目一覧表示 foreach($_POST['color'] as $Value){ print $Value; } 表示結果[赤青白黒](全部選択した場合)

wipe
質問者

お礼

ありがとうございます。 意図する動作が出来ました。 foreach命令を知りませんでした。 foreachのようにデータではなく、データ数を返すような命令文はありますか?  表示結果[4](全部選択した場合) 教えていただければ有難いです。 本当にありがとうございました。

その他の回答 (1)

回答No.2

count()で知ることが出来ます。 $num = count($_POST['color']); echo $num; 詳しくは参照URLをご覧になってください。

参考URL:
http://php.planetmirror.com/manual/ja/function.count.php
wipe
質問者

お礼

ありがとうございました。 foreach命令ではチェックがないときエラーとなってしまうので困っていました。 count命令にて$num>0になったときに、foreach命令を実行するようにします。 他にも対処法があるのかもしれませんが、まずはこれでやってみます。 本当にありがとうございました。

関連するQ&A