同類の選択を複数のチェックボックスで行う場合でも、それぞれのチェックボックスには異なるname属性を設定しなければなりません。そのような場合、name属性に一連の番号を含む名前を設定することにより、ループ処理で個々のチェックの有無を調べることができます。
この例では、まずHTML文において、各チェックボックスのname属性を「inputdata」で始まる1~4の連番で設定しています。受け取り側のPHPスクリプトでは「$_POST["inputdata"]」という表記の変数で、$iの部分を1~4のループで変化させて、個々の状態を調べています。例えば$iの値が「2」の時は、「$_POST["inputdata2"]という変数の内容を調べることになります。
なお、「inputdata」と「1~4」を結合して1つの変数名として扱われるよう、前後に「"」を付けなければならないことに注意してください。
最初の画面で、チェックボックスにチェックを入れて「送信」ボタンをクリックすると、各チェックボックスのチェックの有無が表示されます。
<?php header("Content-type: text/html; charset=utf-8"); if(isset($_POST["btnExec"])){ for($i = 1; $i <= 4; $i++){ if(isset($_POST["inputdata$i"])){ echo "{$i}ケめのチェックボックスはON<br>"; } else{ echo "{$i}ケめのチェックボックスはOFF<br>"; } } echo "<br><br>"; } ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> 開発経験のある言語にチェックをつけて「送信」ボタンをクリックしてください(複数選択可)。 <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST"> <input type="checkbox" name="inputdata1">PHP<br> <input type="checkbox" name="inputdata2">Java<br> <input type="checkbox" name="inputdata3">CGI<br> <input type="checkbox" name="inputdata4">C++<br> <input type="submit" name="btnExec" value="送信"> </form> </body> </html>