Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php и checkbox
 
 автор: virtus1k   (08.10.2008 в 15:45)   письмо автору
 
 

есть форма c динамическими чекбоксами (количество не знаю)
БОКС1 - <inbox type=checkbox name=idd_p[] value=$row[id]>
БОКС2 - <inbox type=checkbox name=hide value=1>

Мне нужно записать это в mysql НО значение idd_p[] пишеться нормально - второе hide нет... пример:
если пользователь отметил БОКС1 - 6 раз, а БОКС2 -2 - то у меня в базу пишеться только одно значение на все 6 БОКС1
Надеюсь понятно пояснил :)
Приведу кусок кода:

$zf = sizeof($_POST['idd_p']); 
if ($zf >= "1") { 
$mass=$_POST["idd_p"]; 
$i=0; 
while($mass[$i]) 

$s1="INSERT INTO tbl set iddp='$mass[$i]', hide=''КАК УЗНАТЬ ЗНАЧЕНИЕ ЭТОГО"; 
$result1 = mysql_query($s1) or die("Query failed"); 
$i++; 


у меня получается сделать только:
INSERT INTO tbl set iddp='2', hide="1"
INSERT INTO tbl set iddp='4', hide="1"
INSERT INTO tbl set iddp='5', hide="1"
INSERT INTO tbl set iddp='8', hide="1"
INSERT INTO tbl set iddp='22', hide="1"
INSERT INTO tbl set iddp='23', hide="1"
а должно быть:
INSERT INTO tbl set iddp='2', hide="0"
INSERT INTO tbl set iddp='4', hide="0"
INSERT INTO tbl set iddp='5', hide="1"
INSERT INTO tbl set iddp='8', hide="1"
INSERT INTO tbl set iddp='22', hide="0"
INSERT INTO tbl set iddp='23', hide="1"

Большое спасибо за помощь.

  Ответить  
 
 автор: Саня   (09.10.2008 в 07:40)   письмо автору
 
   для: virtus1k   (08.10.2008 в 15:45)
 

Потому что idd_p[] — массив. А hide — обычное имя. Напишите hide[] и будет вам счастье.
Кстати, не забывайте фильтровать входящие данные, а то взломают.

  Ответить  
 
 автор: virtus1k   (09.10.2008 в 08:40)   письмо автору
 
   для: Саня   (09.10.2008 в 07:40)
 

писал я hide[] - но все равно он берет первое попавшееся значение и ставит его во все idd_p[]
Как код верно подправить для hide[]
???

  Ответить  
 
 автор: Саня   (09.10.2008 в 08:46)   письмо автору
 
   для: virtus1k   (09.10.2008 в 08:40)
 

Нужно ещё учитывать, что неотмеченные чекбоксы не попадают в массив $_POST.
А что это за тег такой странный, <inbox>?

  Ответить  
 
 автор: virtus1k   (09.10.2008 в 10:23)   письмо автору
 
   для: Саня   (09.10.2008 в 08:46)
 

inbox - ну эт я опшибся :)
а как учитывать - в этом то вся и проблема?

  Ответить  
 
 автор: sim5   (09.10.2008 в 11:32)   письмо автору
 
   для: virtus1k   (09.10.2008 в 10:23)
 

А зачем вам неотмеченные чекбоксы знать?

  Ответить  
 
 автор: virtus1k   (09.10.2008 в 11:36)   письмо автору
 
   для: sim5   (09.10.2008 в 11:32)
 

чуток не поняли Вы вопроса :)
СПАСИБО за подсказки - разобрался

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования