У меня есть форма, которая содержит раздел флажков и другой раздел переключателей.У меня похожая проблема с обоими.
HTML-код для раздела флажков выглядит следующим образом:
<input type="checkbox" name="activity[]" value="run" id="run" /><label for="run">Run</label>
<input type="checkbox" name="activity[]" value="swim" id="swim" /><label for="swim">Swim</label>
<input type="checkbox" name="activity[]" value="bike" id="bike" /><label for="bike">Bike</label>
Когда я отправляю форму, массив действий, кажется, не правильноопределены.
Когда я обрабатываю форму, предполагая, что первые два флажка отмечены, когда PHP выполняет
$activity = $_POST['activity'];
var_dump($activity);
, он печатает:
array(2) [0]=> string(0) "" [1]=> string(0) ""
Очевидно, что этообнаружение, что два из трех полей помечены галочкой, но они не проходят через значения.Если HTML-код начинается с атрибута флажка для всех флажков, он корректно отправляется через значение флажка.
Аналогично, с переключателями я не могу получить значение для просмотра, отличное от значения по умолчанию.Если пользователь изменяет значение по умолчанию, то параметр существует, но это пустая строка.
Насколько я понимаю, массив должен содержать значения, определенные для каждого из отмеченных полей,независимо от того, был ли отмечен флажок при загрузке формы.Что я делаю не так?