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 :: Версия для печати :: HTML-формы
Форумы портала PHP.SU » Разное » Обсуждение статей » HTML-формы

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

1. Striker - 11 Июня, 2012 - 03:13:02 - перейти к сообщению
http://php.su/articles/?cat=exam...les&page=069 - в этой статье в самом низу страницы имеем код:
PHP:
скопировать код в буфер обмена
  1. <FORM ACTION="file.php" METHOD=POST>
  2.  <input name="mycolor" type="checkbox" value="blue">Синий
  3.  <input name="mycolor" type="checkbox" value="black">Черный
  4.  <input name="mycolor" type="checkbox" value="white">Белый
  5.  <input name="Submit" type=submit value="Выбрать">
  6.  </FORM>


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.    if (!empty($_POST['mycolor'])) echo $_POST['mycolor']; // Если выбран хоть 1 элемент
  3.    else echo "Выберите значение";
  4. ?>


Это же чекбокс, здесь можно выбрать несколько элементов. А если использовать обработчик данный выше нам выдает только последний выбранный элемент. К примеру если мы выбрали синий и черный, то обработчик выдаст только черный. Как написать обработчик, который будет в конечном итоге выводить все выбранные элементы?
(Добавление)
Вообщем додуплил. Переписал так:
PHP:
скопировать код в буфер обмена
  1. <FORM ACTION="file.php" METHOD=POST>
  2.  
  3.  <input name="blue" type="checkbox" value="blue">Синий
  4.  
  5.  <input name="black" type="checkbox" value="black">Черный
  6.  
  7.  <input name="white" type="checkbox" value="white">Белый
  8.  
  9.  <input name="Submit" type=submit value="Выбрать">
  10.  
  11.  </FORM>



PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if(isset($_POST['blue']))
  4. {
  5.     $blue = $_POST['blue'];
  6.     echo $blue;
  7. }
  8.  
  9. if(isset($_POST['black']))
  10. {
  11.     $black = $_POST['black'];
  12.     echo $black;
  13. }
  14.  
  15. if(isset($_POST['white']))
  16. {
  17.     $white = $_POST['white'];
  18.     echo $white;
  19. }
  20.  
  21. ?>

Но все-равно там аффтару не зачет, исправте у себя в статье.
2. Alho - 11 Июня, 2012 - 03:42:29 - перейти к сообщению
Поздравляю.
Но вернее таки:
CODE (html):
скопировать код в буфер обмена
  1. <FORM ACTION="1.php" METHOD=POST>
  2. <input name="mycolor[]" type="checkbox" value="blue">Синий
  3. <input name="mycolor[]" type="checkbox" value="black">Черный
  4. <input name="mycolor[]" type="checkbox" value="white">Белый
  5. <input name="Submit" type=submit value="Выбрать">
  6. </FORM>

 

Powered by ExBB FM 1.0 RC1