チェックボックスとPHP処理の基本
1. HTML側のチェックボックスフォーム
複数のチェックボックスに同じ name
を付けることで、選択された値だけが送信されます。
<form action="/submit" method="post">
<input type="checkbox" name="fruit" value="apple">Apple<br>
<input type="checkbox" name="fruit" value="banana">Banana<br>
<input type="checkbox" name="fruit" value="cherry">Cherry<br>
<input type="submit">
</form>
2. チェックなしで送信された場合のPHP側の処理
1つもチェックされなかった場合、$_POST['fruit']
は「存在しない」ため、 isset()
や empty()
での確認が必要です。
<?php
if (isset($_POST['fruit'])) {
$selected = $_POST['fruit'];
echo "選択された果物: " . htmlspecialchars($selected);
} else {
echo "果物が選択されていません。";
}
?>
3. 複数選択を配列として受け取る方法
name="fruit[]"
のように配列形式で送ると、複数選択に対応しやすくなります。
<form method="post">
<input type="checkbox" name="fruit[]" value="apple">Apple<br>
<input type="checkbox" name="fruit[]" value="banana">Banana<br>
<input type="checkbox" name="fruit[]" value="cherry">Cherry<br>
<input type="submit">
</form>
<?php
if (!empty($_POST['fruit'])) {
foreach ($_POST['fruit'] as $fruit) {
echo htmlspecialchars($fruit) . "<br>";
}
} else {
echo "果物が選択されていません。";
}
?>