Рисунок из которого флажки были выбраны в форме, в РНР

голоса
1

У меня есть форма с несколькими флажками. Когда я представить его на другую страницу PHP, я задаюсь вопрос: Как я могу сказать, какие из них проверяется без вызова IsSet на каждом имени CheckBox? (Если есть способ). Если я дам каждому из флажков то же имя, то только последний установлен флажок возвращается.

Спасибо,
Майкл

Задан 16/08/2009 в 23:12
источник пользователем
На других языках...                            


2 ответов

голоса
5

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
   <title>Demo</title>

<form action="cb.php">
<div>
    <input type="checkbox" name="animals[]" value="dog" id="dog"> 
    <label for="dog">dog</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="cat" id="cat"> 
    <label for="cat">cat</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
    <label for="rabbit">rabbit</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
    <label for="hampster">hampster</label>
</div>
<div><input type="submit"></div>
</form>
<?php
if ($_GET['animals']) {
?>
<ul>
<?php
foreach ($_GET['animals'] as $animal) {
?>
<li><?php print htmlspecialchars($animal); ?></li>
<?php
}
?>
</ul>
<?php
}
?>
Ответил 16/08/2009 в 23:15
источник пользователем

голоса
1

Используйте имя массива для всех флажков в той же группе, например, имя = «mycheckboxes []». Таким образом, вы получите массив, содержащий список выбранных флажков в коде PHP

Ответил 16/08/2009 в 23:15
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more