Метод прохождения, html / php - PullRequest
0 голосов
/ 21 июня 2011

Если у меня есть 3 флажка, которые вы можете проверить на доступный транспорт: Такси, Поезд, Автобус ... как мне проехать их хорошим способом?Не можете ли вы передать массив с помощью Transport = bus, train (те, что вы проверили), или, может быть, вам придется отправлять их отдельно по одной переменной за раз, потому что она находится внутри формы (и уже является массивом)?1001 *

Ответы [ 3 ]

1 голос
/ 21 июня 2011

Я предполагаю, что вы говорите об отправке данных с клиента на сервер.Если это так, вы можете присвоить флажкам одно и то же имя:

<input type="checkbox" name="transport[]" value="Taxi"> Taxi <br />
<input type="checkbox" name="transport[]" value="Train"> Train <br />
<input type="checkbox" name="transport[]" value="Bus"> Bus <br />

Когда вы отправите форму, данные будут доступны в виде массива в $_POST['transport'] (или $_GET, в зависимости от того, какие методы вы используете).[] в имени поля ввода заставит PHP анализировать данные как массив.

Дополнительная информация в Переменные из внешних источников .


Еще несколько объяснений:

Без скобок (т.е. []) результирующая строка запроса будет выглядеть следующим образом (при условии, что выбраны Такси и Поезд):

transport=Taxi&transport=Train

PHP, в отличие от других языков, будет учитывать только последнее значение для того же ключа.Чтобы заставить PHP обрабатывать значения с тем же ключом, что и массив, вы должны добавить [] к имени.

0 голосов
/ 21 июня 2011

Если вы используете что-то вроде этого:

<input type="checkbox" name="transport[]" value="bus" />
<input type="checkbox" name="transport[]" value="train" />
<input type="checkbox" name="transport[]" value="taxi" />

Значения будут переданы в виде массива, доступного через $ _POST ['transport'].Если пользователь установит первый и последний флажки, $ _POST ['transport'] будет содержать две строки: 0 => "bus", 1 => "taxi".

Также см. http://jetlogs.org/2007/07/19/passing-input-arrays-in-php/.

0 голосов
/ 21 июня 2011

Все поля ввода будут переданы как часть ваших массивов $ _POST или $ _GET, в зависимости от типа метода отправки формы.Флажки передаются как name = on или name = независимо от того, установлены ли флажки или нет.В зависимости от того, как вы обрабатываете отправленные данные формы, существуют разные способы работы со значениями.Надеюсь, это поможет?

...