2010-11-01 4 views
0

У меня есть форма, и внутри ее есть() с флажками.PHP: работа с флажками

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

Теперь у меня есть флажки, кнопка отправки и так далее. Теперь все мои флажки выглядят так:

<input class="cbPick" name="cbPick" type="checkbox" value="<?php echo $id; ?>"> 

Как я могу работать с этим в PHP? Должен ли я делать, $ _POST ["cbPick"], чтобы узнать, отмечены ли его или нет?

И когда у меня их больше, как я могу узнать, что это такое?

ответ

4

Флажки требуют использования массива. PHP автоматически помещает отмеченные поля в массив, если вы кладете [] скобки в конце каждого имени.

Please choose type of food:<br /> 
Steak:<input type="checkbox" value="Steak" name="food[]">:<br /> 
Pizza:<input type="checkbox" value="Pizza" name="food[]">:<br /> 
Chicken:<input type="checkbox" value="Chicken" name="food[]">:<br /> 

Затем вы можете сделать

$foodArray=$_POST['food']; 
echo $foodArray[0]; //Steak Value 
echo $foodArray[1]; //Pizza Value 
echo $foodArray[2]; //Chicken Value 

PS - Эта информация была найдена погуглить "Checkboxes PHP" и нажмите на первую ссылку. Я рекомендую вам сделать хотя бы небольшое исследование в будущем, прежде чем размещать вопрос, который так легко доступен.

+0

Предполагается, что флажки используются для выбора объектов из списка. Однако в некоторых случаях, таких как флажок «Я согласен» на странице условий и условий, это не требуется. –

+0

OP заявила, что флажки создаются по петле. Думаю, само собой разумеется, что это не такой случай. – Dutchie432

0
if (!empty($_POST['cbPick']])) { 
    // Do stuff here 
} 

пустой() проверяет сначала существование, а затем, если значение не является nullish (нуль, ноль, пустая строка, и т.д.). Таким образом, вы не получите уведомления, если ключ массива не существует. Флажки немного странны в том, что они попадают только в массив $ _POST, если они проверяются. В противном случае переменная не будет отправлена ​​вообще.

+0

Хорошо, и когда у меня есть что-то в значении = "", как я могу это сделать? – Johnson

0

Если вы используете одно и то же имя (cbPick[]) для нескольких флажков, то $_POST["cbPick"] будет заполняться как массив с каждым из отмеченных значений.

Смежные вопросы