Как передать массив из HTML формы методом POST?

2 ноября 2014 г. Просмотров: 1776 Инструкции
Отправить форму методом POST очень просто. Для этого достаточно прописать тегам input и select атрибут name, а самой форме атрибуты action и method. Но как поступить, если нам нужно передать данные в виде не 10 переменных, а 1 массива с 10 значениями?
Создать сайт самостоятельно с Wix.com

Для передачи данных методом POST в виде массива необходимо в атрибуте name указать название массива и ключ в квадратных скобках. Например:

  1. input type="text" name="order[number]"
  2. input type="text" name="order[registration_date]"

В данном примере мы передаем массив order с двумя ключами (number и registration_date), значения которых вводятся с клавиатуры.

Благодаря этому способу мы можем послать форму в виде массива order с любыми характеристиками (номер заказа, покупатель, дата оформления и т.д.). В случае с PHP, массив будет находиться в переменной $_POST['order'].

Через форму можно послать многомерный массив. Для этого нужно заключить в квадратные скобки каждый ключ:

  1. input type="text" name="form[order][number]"
  2. input type="text" name="form[order][number]"

Одним из главных плюсов данного способа является возможность передачи нескольких массивов данных. Например, если нам нужно передать данные о новом клиенте и новом заказе, мы можем послать скрипту 2 массива:

  1. input type="text" name="client[name]"
  2. input type="text" name="client[organization]"
  3. input type="text" name="order[product]"
  4. input type="text" name="order[quantity]"

После отправки формы массивы будут лежать в переменных $_POST['client'] и $_POST['order']. Получить значения этих массивов можно так:

  1. echo $_POST['client]['name'];
  2. echo $_POST['order']['product'];

 

Оцените статью!