Всем привет! пол дня ломаю голову над такой вот штукой:
есть семь чекбоксов. Каждый имеет уникальное имя и одинаковое значение "yes"
Код:
if ($_POST['1'] == 'yes') $page = '1';
if ($_POST['2'] == 'yes') $page = '2';
if ($_POST['3'] == 'yes') $page = '3';
if ($_POST['4'] == 'yes') $page = '4';
if ($_POST['5'] == 'yes') $page = '5';
if ($_POST['6'] == 'yes') $page = '6';
if ($_POST['7'] == 'yes') $page = '7';
echo $page
При выборе одного пунктика проблем не возникает, но если выбрать несколько - то в значении page отображается наиболее высокое значение. Как сделать так, чтобы при выборе нескольких чекбоксов отображались все значения выбранных... Заранее спасибо)))
furian, советую вам почитать учебники программирования. Причем не по конкретному языку, а по простейшим алгоритмам. Которые детям в школе / студентам на первом курсе объясняют. Так как есть гораздо более простой способ: К name'ам check-box'ов в форме прибавьте какую-нибудь уникальную штуку. В примере - просто английская буква 'с'. И в обработчике поставьте такой код:
PHP код:
for ($i=1; $i<=7; $i++){ if ($_POST['c'.$i] == 'yes') $page .= $i; }
kik11, потому что, если вдруг изменится количество полей в front-части, нужно будет изменять предложенный Вами код. Если использовать массивы - всего этого можно избежать. Разрабатывая системы, нужно придерживаться принципа, если так уместно выразиться, минимализма. Чтобы в случае необходимости, код изменялся в одном месте, и изменения применялись по всему приложению.
Вообще в более широком смысле на системах, взаимодействующей с другими приложениями и базами данных - это может оказаться достаточно сложно (например, я делал систему микроплатежей для Уганды, по аналогии с QIWI, когда клиент выбирает провайдера: ОПСоСа или поставщику электроэнергии по счетчику, у каждого из них свои диалоги и поля, требующие заполнения пользователем, при этом принцип "не дублирования" по всей системе сохраняется).
Но на более начальном уровне - как элементарная форма, лучше приучить себя делать правильно.
если правильно понял твою задачу то это то что тебе нужно соответственно в $_POST['box'] попадут только чекбоксы которые были чекнуты, либо пустое если нет, в случае если тебе нужно конкретное значение для $page, а не данные выбранных чекбоксов то тебе смотреть в сторону type=radio