Простая обработка форм на PHP для начинающих. Урок 1

Простая обработка форм на PHP для начинающих

От автора: в этом уроке будет показана работа с формами на PHP. Формы являются неотъемлемым элементом практически любого сайта. При этом в формах могут быть десятки полей, данные из которых необходимо валидировать и отправлять на email или же сохранять в БД.

Начинающие разработчики зачастую проверяют каждое из полей по отдельности и формируют письмо, добавляя в его содержимое каждое из полей по отдельности. В уроке вы найдете более универсальный алгоритм обработки форм на PHP, который можно использовать многократно.

скачать исходники

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

PHP-Мастер

От теории до собственной CMS интернет-магазина

Подробнее

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (4)

  1. vitaliy

    Я немного попробовал изменить код, дописал name для и затем обратился к этому массиву if(!empty($_POST['myform-1'])) но такой код не работает. Скажите, пожалуйста, почему?

    • Андрей

      Что-то не так — это я могу сказать точно. Что именно не так — не видя Ваш код, остается только угадывать. Из того кусочка, который Вы показали, меня смущает $_POST['myform-1']… предполагаю, что name=»myform-1″ Вы написали для самой формы? В этом случае Ваше условие не сработает, атрибут name формы используется достаточно редко и, как правило, используется он в JS. Для PHP он бесполезен, поскольку у формы нет значения, т.е. $_POST['myform-1'] на сервере просто не будет. Если у Вас несколько форм и Вы хотите по отдельности принимать из них данные, тогда можно привязаться к кнопке формы. Дайте ей имя, например, то же myform-1 и проверяйте, отправлялась ли форма:
      if(isset($_POST['myform-1'])){
      var_dump($_POST);
      }

  2. vitaliy

    Спасибо за Ваш ответ. Я писал часть кода, но при публикации комментария он почему-то был вырезан. Параметр name я задаю для button type submit и условие срабатывает, если написать, как у вас с isset. Но если дописать в if(!empty($_POST['myform-1'])) то так не работает почему-то, (ссылка на код, если вдруг он будет вырезан: https://pastebin.com/vBjqu8MW ) Объясните, пожалуйста, почему при таком написании условие не срабатывает.

    • Андрей

      А Вы просто распечатайте массив POST без всяких условий:
      var_dump($_POST);
      и попробуйте отправить форму. В массиве POST будет элемент myform-1, но будет он пустым. Функция empty проверяет не только наличие переменной, но и наличие у нее значения, которое может быть приведено к True. Пустая строка таковым не является. Поэтому используйте функцию isset — этого вполне достаточно в данном случае. Если же хотите использовать функцию empty, тогда у тега button есть атрибут value. Используйте данный атрибут с каким-нибудь значением, например value=»submit» — в этом случае условие с empty также будет работать.