2018-10-23 ■ PHP PHP 複数選択可能なフォーム要素の$_POSTでの受け取り方 PHPではで送信されたフォーム要素を$POST['name属性']で取得できるが、 チェックボックスのように複数選択可能なフォーム要素の場合、単純に$POST['']で受け取っても選択された値のうち一つしか取得できない。 回答を複数持つフォーム要素には、送信元のformタグでも複数選択であることを[](ブラケットという)で明示する。これによって、ポストされた要素の値が配列でPHPに渡されることになる。 以下は好きな果物を選択するチェックボックスの例。 form.php(送信元) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Check Box</title> </head> <body> <form action="check2.php" method="POST"> <input id="fruits" type="checkbox" name="fruits[]" value="りんご"> //fruitsに[]をつける <label for="fruits">りんご</label> <input id="fruits" type="checkbox" name="fruits[]" value="みかん"> //fruitsに[]をつける <label for="fruits">みかん</label> <input id="fruits" type="checkbox" name="fruits[]" value="ぶどう"> //fruitsに[]をつける <label for="fruits">ぶどう</label> <input type="submit" name="" value="送信"> </form> </body> </html> answer.php(送信先) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Answer</title> </head> <body> <p>選択されたのは <?= implode(',', $_POST['fruits']); ?> です。</p> </body> </html> 便宜上エスケープ処理の記述は省いています。