参考サイト
【PHP・HTML】フォームのチェックボックスの値を取得する方法【配列】
https://deco8.net/php-html-form-checkbox-array/
結論(コード)
送信元のHTMLフォーム
<form action="/result-page" method="post">
<fieldset>
<legend>好きな動物</legend>
<p>
<input type="checkbox" name="favoriteAnimal[]" id="cat" value="猫">
<label for="cat">猫</label>
</p>
<p>
<input type="checkbox" name="favoriteAnimal[]" id="dog" value="犬">
<label for="dog">犬</label>
</p>
<p>
<input type="checkbox" name="favoriteAnimal[]" id="rabbit" value="兎">
<label for="rabbit">兎</label>
</p>
</fieldset>
<button type="submit">送信する</button>
</form>
受け取り先PHPファイル
<?php
$favorite_animal = $_POST['favoriteAnimal'];
?>
<p>
<?php
if($favorite_animal) {
foreach($favorite_animal as $favorite_animal_item) {
echo '<span>' . htmlspecialchars($favorite_animal_item) . '</span>';
}
}
?>
</p>
勘所
HTMLフォーム側では、input要素のtype属性でcheckboxを使うこと。
HTMLフォーム側のcheckboxでは、name属性に配列(favariteAnimal[])を渡すこと。
PHPファイル側では、$_POST[‘favoriteAnimal’] でPOSTリクエストを取得するんだけど、配列として扱うこと。
PHPファイル側では、POSTリクエストが空っぽだったことを考慮すること。
配列から取得したデータは必ずサニタイズして扱うこと。