29.09.2008, 07:19
общий
это ответ
Здравствуйте, Denis2008!
Можно сделать задачку и таким образом, что параметру name присваивается одно и тоже значение.
<form ...>
<input type="checkbox" name="name[]">
<input type="checkbox" name="name[]">
<input type="checkbox" name="name[]">
<input type="checkbox" name="name[]">
<input type="checkbox" name="name[]">
</form>
Видите? У атрибута name значение, на первый взгляд, одно и то же. Однако, если мы отправим такую форму и сделаем в скрипте простую операцию print_r($_REQUEST), то переменная распечатается, как двумерный массив $_REQUEST['name'][$i].
Полезно бывает сопровождать checkbox полем hidden, в котором будет содержаться значение поля по умолчанию, в случае, если мы не поставим напротив соответствующего checkbox`а галочку. Для способа, предложенного мной, придется сопроводить вставляемые поля счетчиком. Например, если Вы воспользовались циклом for для создания "multicheckbox`а", то в квадратные скобки следует вставить значение счетчика и результирующий код будет выглядеть так:
<?php
for ( $i = 0 ; $i < @количество чекбоксов; $i ++)
{
?>
<input type="hidden" name="name[ <?= $i ; ?> ]" value="значение поля по умолчанию"><input type="checkbox" name="name[ <?= $i ; ?> ]" value="значение, устанавливаемое при постановке галочки">
<?php
}
?>
Этот вариант лишь как альтернативный. Я им пользуюсь всегда потому, что очень не люблю вставлять код PHP в HTML.
С уважением, Товарищ Бородин