フォームのチェックボックス等複数選択する場合は、HTMLでinput要素のname属性を配列にして送信してサーバーで配列で受け取る方が効率的です。
試してみたことくを忘れないようサンプルを記録しておきます。
1.HTML
category[キー]の配列でvalue属性が送られます。
<form action="http://sample.sakuraweb.com/HTML5/form22.php" method="POST"> <p>どのようなジャンルのショップをよく利用しますか?</p> <p> <input type="checkbox" name="category[fation]" value="on">ファッション <input type="checkbox" name="category[helth]" value="on">美容・健康 <input type="checkbox" name="category[food]" value="on">食品・ドリンク <input type="checkbox" name="category[computer]" value="on">コンピュータ・家電 <input type="checkbox" name="category[media]" value="on">CD・DVD・書籍 <input type="checkbox" name="category[ather]" value="on">その他 </p> <p><input type="reset" value="リセット"> <input type="submit" value="送信"></p> </form>
2.サーバー(PHP)
$_POST[“category”]を配列でHTMLで設定したvalue属性を受け取ることで、処理がしやすくなります。
<?php $category = array('fation','helth','food','computer','media','ather'); if(is_array($_POST["category"])) : foreach($category as $catkey) : if(isSet($_POST["category"][$catkey]) && $_POST["category"][$catkey]=='on') : echo $catkey . 'はonです' . '<br>'; else : echo $catkey . 'はoffです' . '<br>'; endif; endforeach; else : echo 'カテゴリは配列ではありません<br>'; endif; ?>