Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: checkbox кнопки
Форумы портала PHP.SU » PHP » Программирование на PHP » checkbox кнопки

Страниц (1): [1]
 

1. vanicon - 04 Сентября, 2010 - 16:19:01 - перейти к сообщению
Хочу сделать удаление более одной записи из БД с помощью кнопок типа checkbox. И возникла проблема с получением значения всех этих кнопок. Вот код:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="test.php" method="POST">
  3. <input type='checkbox' class='checkbox' name='delete_id' value='123'>
  4. <input type='checkbox' class='checkbox' name='delete_id' value='456'>
  5. <input type='checkbox' class='checkbox' name='delete_id' value='789'>
  6. <input type='checkbox' class='checkbox' name='delete_id' value='111'>
  7. <input type='checkbox' class='checkbox' name='delete_id' value='122'>
  8. <input type='checkbox' class='checkbox' name='delete_id' value='333'>
  9. <input type='checkbox' class='checkbox' name='delete_id' value='345'>
  10. <input id="delete" type="submit" name="delete" value="удалить">
  11. </form>
  12.  

Скрипт который обрабатывает кнопки:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if($_POST['delete_id']){
  4. echo $_POST['delete_id'];
  5. }
  6. ?>
  7.  


И скриптом выводится только одно значение кнопки хотя я выделял их три и больше.
Возможно ли функциями php решить мою проблему.
2. Maiai - 04 Сентября, 2010 - 16:41:50 - перейти к сообщению
delete_id везде одинаковый name, замени на delete_1,delete_2 и т д
3. Мелкий - 04 Сентября, 2010 - 16:52:37 - перейти к сообщению
0)
<input type='checkbox' class='checkbox' name='delete_id[]' value='345'>
пишете вот так, тогда в $_POST['delete_id'] будет массив, который фореахом пробегается на раз. Или сразу implode и в запрос.

1) для вашего php-кода поведение корректно, т.к. вы спрашиваете значение delete, кнопки, вместо delete_id, чекбоксов.
4. kolchan11 - 18 Июня, 2014 - 20:45:57 - перейти к сообщению
Мелкий пишет:
0)
<input type='checkbox' class='checkbox' name='delete_id[]' value='345'>
пишете вот так, тогда в $_POST['delete_id'] будет массив, который фореахом пробегается на раз. Или сразу implode и в запрос.

1) для вашего php-кода поведение корректно, т.к. вы спрашиваете значение delete, кнопки, вместо delete_id, чекбоксов.


О боже. Извиняюсь за некропостинг, но блин как же ты мне помог! Кто бы мог знать, что в форме можно создавать массивы. Где только не искал о массивах в формах, ничего не было. Потом забил на это дело и случайно наткнулся на эту тему, когда уже гуглил по тегам "одинаковые name у чекбоксов". Спасибо тебе огромное, человек из 2010 года!

P.S. Блин, сейчас еще раз подумал над этим и понял, что куче форм, которые я всегда генерировал с нумерующимися названиями типа name-1, name-2 итд можно было просто сделать массивом. Это упрощает и фронтенд и бекенд обработку. Как же я не мог знать об этой особенности раньше. Еще раз огромное спасибо!
5. Мелкий - 18 Июня, 2014 - 21:01:05 - перейти к сообщению

kolchan11 пишет:
человек из 2010 года!

Ох, сколько времени уже прошло
6. kolchan11 - 18 Июня, 2014 - 21:06:28 - перейти к сообщению
Мелкий пишет:

kolchan11 пишет:
человек из 2010 года!

Ох, сколько времени уже прошло

ахах, я только сейчас заметил, что у тебя еще аватарка почти такая же, как я везде ставлю)

 

Powered by ExBB FM 1.0 RC1