Работа с массивами в HTML-форме
В этой статье я покажу интересную возможность по работе с формами, которая в некоторых случаях может упростить и ускорить обработку форм. Это основано на работе с массивами в HTML-форме. А теперь более подробно об этом.
Вообще, массивы в HTML-форме используются часто, например, когда у нас есть несколько checkbox, отвечающих за одно и то же поле. Например, пользователю требуется выбрать те разделы сайта, которые ему наиболее интересны. Тогда выводится что-то наподобии этого:
<input type="checkbox" name="sections[]" value="1" /> Раздел 1<br />
<input type="checkbox" name="sections[]" value="2" /> Раздел 2
После отправки формы в скрипт придёт массив sections со значениями, отмеченными пользователем. Такой приём использования массивов в HTML-форме очень часто можно встретить.
Но сейчас я Вам покажу ещё один вариант использования такой возможности, но уже более оригинальный и редко встречаемый. Создадим HTML-форму:
<form name="name" action="index.php" method="post">
<div>
<input type="text" name="user[name]" />
<br />
<input type="text" name="user[email]" />
<br />
<input type="text" name="user[password]" />
<br />
<input type="submit" value="Отправить" />
</div>
</form>
Обратите внимание, что мы для разных полей в форме указываем массив user с соответствующими ключами, которые уже характеризуют само поле. Теперь, чтобы получить уже готовый массив user для использования в PHP, достаточно написать в скрипте-обработчике так:
<?php
$user = $_POST["user"];
?>
Проще и не бывает. Дальше уже можно использовать ассоциативный массив $user на своё усмотрение.
В этой статье я продемонстрировал, как можно работать с массивами в HTML-форме. Надеюсь, что это было полезно и интересно.
-
- Михаил Русаков
Комментарии (3):
Хорошая статья, но как же со скоростью? Если делать вот так, как вы показали в статье, то не упадёт ли скорость?
Ответить
Нет, скорость не упадет.
Ответить
Возможно, лучше писать к примеру name="user['password']", чтобы php при получении не подумал, что это зарезервированное слово или какая-то константа. Иногда бывает, и тогда уже очень трудно понять, в чём дело. Однако, возможно это проблема лишь некоторых версий php, это я точно не могу сказать. Если у вас работает без кавычек, то ок, делайте :)
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.