php Checkbox, как с ним работать

Checkbox - поле, которое может быть отмечено / не отмечено галочкой.

Так оно выглядит в html-шаблон-е form.html:

<form action="/checkbox.php" method="post">
    <input type=checkbox name="checkbox_name">
    <input type="submit">
</form>
  • Код контроллера checkbox.php:
    // если клиент нажал кнопку submit, обрабатываем данные
    if (!empty($_POST)) {
                // так можно посмотреть, какие вообще данные нам переданы
                // удалите этот код, чтобы перейти к работе с данными
                echo ("<pre>");
                echo($_POST);
                echo ("</pre>");
                die('123');
                
                // а теперь непосредственно обработка
                // помещаем полученное значение в переменную
                $checkboxData = $_POST('checkbox_name');
            
                // ... далее какая-то логика
            }
    
    // если клиент НЕ нажал кнопку submit, просто выводим шаблон
    include("/checkbox.php");
  • Если у вас много checkbox-ов, чтобы понять, какие конкретно были отмечены, дайте им индивидуальные имена:
    <form action="/checkbox.php" method="post">
        <input type=checkbox name='cinnamon'>
        <input type=checkbox name='cerry'>
        <input type=checkbox name='chocolate'>
        <input type=checkbox name='caramel'>
        <input type="submit">
    </form>
  • Если вы хотите, чтобы checkbox по умолчанию был "включен", добавьте атрибут checked в шаблоне:
    <form action="/checkbox.php" method="post">
        <input type=checkbox name='checkbox_name' checked="checked">
        <input type="submit">
    </form>
vedro-compota's picture

Если у вас много checkbox-ов, чтобы понять, какие конкретно были отмечены, дайте им индивидуальные имена

а разве на форме не все инпуты должны иметь уникальные имена (если это не "массивы")?)

_____________
матфак вгу и остальная классика =)

melisa's picture

просто акцентировала внимание