Как обрабатывать несколько флажков в форме PHP?
У меня есть несколько флажков в моей форме:
<input type="checkbox" name="animal" value="Cat" />
<input type="checkbox" name="animal" value="Dog" />
<input type="checkbox" name="animal" value="Bear" />
Если я проверил все три и нажал submit, со следующим кодом в PHP script:
if(isset($_POST['submit']) {
echo $_POST['animal'];
}
Я получаю "Медведь", т.е. последнее выбранное значение флажка, хотя я выбрал все три. Как получить все 3?
Ответы
Ответ 1
См. изменения, внесенные мной в имя:
<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />
вам нужно настроить его как массив.
print_r($_POST['animal']);
Ответ 2
<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />
Если я проверил все три и нажал submit, со следующим кодом в PHP script:
if(isset($_POST['animal'])){
foreach($_POST['animal'] as $animal){
echo $animal;
}
}
Ответ 3
используйте квадратные скобки после имени поля
<input type="checkbox" name="animal[]" value="Cat" />
<input type="checkbox" name="animal[]" value="Dog" />
<input type="checkbox" name="animal[]" value="Bear" />
На стороне PHP вы можете рассматривать его как любой другой массив.