ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHP:Webページのフォームの複数のチェックボックスの値を、次のページで読み込む方法

Webページのフォームに、久しぶりに一から複数のチェックボックスを配置して、次のページで選ばれた複数のチェックボックスの値を読み込もうとしました。
なんとなく覚えていたので作成できましたが、うろ覚えなので記録として残します。
読み込み側のページは、PHPで作成しています。

送信側のフォーム

inputタグのname属性に[]を付けて配列のようにします。

<form method="POST" action="next.php"> 
    <input type="checkbox" name="check[]" value="1">値1<br>
    <input type="checkbox" name="check[]" value="2">値2<br>
    <input type="checkbox" name="check[]" value="3">値3<br>
</form>

f:id:AJYA:20161111061256j:plain
photo credit: mangee Exactly 100? via photopin (license)

読み込み側のページ

配列になっているので、foreachでループしながら読み込んで、選ばれた複数のチェックボックス値を取得します。

$checkArray = array();
foreach ($_POST["check"] as $key => $value) {
    $checkArray[] = $value;
}


配列にすればできるというのがうろ覚えでした。
どのように選ばれた複数のチェックボックスの値がPOSTされるのかブラウザのデバッガで確認してました。
読み込み側のページで、POSTされた値が配列になっていることを確認して、方法が正しかったことを確認できました。