Як в PHP отримати значення checkbox

2

Від автора: вітаю вас, друзі. З даної статті, яка написана передусім для новачків, ви дізнаєтеся, як в PHP отримати значення checkbox з форми і обробити його. Ця функція може знадобитися досить часто на сайті, наприклад, коли вам треба залежно від того, був відзначений чекбокс чи ні виконати той чи інший код. Приступимо.

Вихідні файли поточної статті ви можете завантажити за посиланням.

Класична ситуація використання у формі чекбокса, який необхідно перевірити, це підтвердження угоди з якимись умовами. Ще одним класичним варіантом буде використання поля checkbox у формі авторизації, коли користувач хоче запам’ятати себе, щоб не вводити повторно через деякий час.

Давайте зупинимося на другому варіанті і створимо просту форму авторизації, в якій присутнє поле checkbox Запам’ятати мене.

Логін

Пароль

Запам’ятати?
Відправити

Ось така симпатична форма у нас вийшло:

В якості обробника ми вказали файл login.php, на який буде відправлена форма. Як прийняти дані з звичайних полів типу text і подібних ми знаємо, для цього достатньо звернутися до відповідного елементу масиву і в цьому масиві. Оскільки дані передаються методом POST, то для того, щоб звернутися до логіну користувача, ми використовуємо наступний запис: $_POST[‘login’]. Саме тут буде зберігатися переданий логін користувача.

З цим все зрозуміло. А як же отримати значення чекбокса в PHP? Тут все просто. Давайте спробуємо роздрукувати на екран весь масив $_POST цілком в процесорі:

І відправимо заповнену форму, зазначивши чекбокс:

Як бачимо, у масиві $_POST знаходяться всі елементи форми. При цьому значення елемента remember, який відповідає за чекбокс в нашому випадку, дорівнює рядку on.

Тепер спробуємо не відзначати чекбокс і відправимо форму ще раз.

Зараз елемента remember в масиві вже немає. Виходить, для того, щоб перевірити, чи був відзначений checkbox, досить просто перевірити наявність відповідного елемента в масиві. Також додатково можна перевірити, дорівнює чи він рядку on або ж повертає його значення true. Остання перевірка, в принципі, для сучасних браузерів навряд чи є обов’язковою, але старі браузери, пам’ятається, могли створювати в масиві порожній елемент, навіть якщо галочка не був відзначений.

У підсумку PHP код з урахуванням обробки значення чекбокса буде виглядати приблизно так:

Ось, власне, і вся премудрість. Ну а на цьому поточну статтю ми завершуємо. Додатково по роботі з формами ви можете подивитися цей урок. Удачі!