フォームのチェックボックス等複数選択する場合は、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;
?>