Установите флажки - PullRequest
0 голосов
/ 08 июня 2011

Я знаю, что могу видеть, установлен ли флажок с чем-то вроде

if (isset($_POST['option1']))

Но если у меня есть около 5 флажков, как я могу сразу увидеть, какие из них выбраны?Я должен сделать заявление if для всех них?

Ответы [ 4 ]

2 голосов
/ 08 июня 2011

Для флажка с тем же именем используйте квадратные скобки, т.е.

<input type="checkbox" name="option[]" value="1" /> Option 1
<input type="checkbox" name="option[]" value="2" /> Option 2
<input type="checkbox" name="option[]" value="3" /> Option 3
<input type="checkbox" name="option[]" value="4" /> Option 4
<input type="checkbox" name="option[]" value="5" /> Option 5

Тогда $_POST['option'] будет отмечен массивом значений.

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

Проверьте их за одну итерацию.

for($i=0; $i<5; $i++)
   if (isset($_POST['option'.$i]))
   {
        //do stuff...
   }
0 голосов
/ 08 июня 2011

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

<input type="checkbox" name="options[]" value="option1">option1
<input type="checkbox" name="options[]" value="option2">option2
<input type="checkbox" name="options[]" value="option3">option3

в php, $_POST["options"] будет массивом выбранных опций

foreach($_POST['options'] as $opt) {
  echo "selected option: $opt <br />";
}

, вы также можете использовать array_flip(),поэтому ключи массива являются значениями параметров ...

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

Для данной формы:

<select name="foo">
   <option value="opt1" selected="selected">bar</option>
   <option value="opt2">whatever</option>
 </select>

<?php echo $_POST['foo'] ?> выведет «opt1».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...