Я новичок в PHP и у меня проблемы с чтением флажков, отправленных формой. Прежде чем объяснить это, я хотел бы упомянуть, что я пытаюсь отредактировать намного большее приложение, и данные не могут быть отправлены другим способом. Это просто вопрос поиска хорошего метода чтения того, что отправляется.
Когда отправляется обычный текстовый ввод, форма будет содержать следующее:
custom[0][type]="text"
custom[0][name]="VariableName"
custom[0][value]="VariableName"
По сути, существует основной «пользовательский» многомерный массив, который имеет несколько элементов (0,1,2,3 и т. Д.), И каждый элемент имеет имя и значение.
Однако, когда один из элементов является флажком, публикуется следующее:
custom[1][type]="list"
custom[1][name]="SelectedOptions"
custom[1][value]="Value1"
custom[1][value]="Value3"
custom[1][value]="Value5"
Что касается PHP, это код, который я использую для чтения данных, отправленных формой. Приведенный ниже код работает нормально в сценарии 1 (с вводом текста), но читает только одно значение, когда у нас есть пользовательские данные типа списка.
foreach($_POST['custom'] as $item){
if($item['value'] != "") echo $item['name'].'='.$item['value']
}
Проблема в том, что $ item ['value'] читает только одно из значений, а не все 3. Как я могу получить все 3 значения в переменной? Это, наверное, очень простая вещь ...
Чтобы сложить все вместе, это то, что отправляется с POST (3 флажка для Variable2)
custom[0][name] Variable1
custom[0][type] text
custom[0][value] ValueForVariable1
custom[1][name] Variable2
custom[1][type] checkbox
custom[1][value] Value1
custom[1][value] Value3
custom[1][value] Value5
И это то, что print_r ($ _ POST) показывает для опубликованных данных выше
[custom] => Array
(
[0] => Array
(
[value] => ValueForVariable1
[name] => Variable1
[type] => text
)
[1] => Array
(
[value] => Value1
[name] => Variable2
[type] => checkbox
)
Просто чтобы убедиться, что мы все на одной странице, фактические данные генерируются более сложной системой, и мы не можем реально изменить это. Мне интересно посмотреть, как мы можем прочитать все 3 значения для Variable2, которые отправляются в POST.
Спасибо!