Создание контактной формы для сайта

контактная форма

От автора: Мы часто сталкиваемся с контактными формами, будь то обычный сайт или, скажем, WordPress. Формы могут быть совершенно разными, всё зависит от Вас и от пожеланий клиента). В этом посте я наглядно покажу всю «анатомию» создания контактной формы для сайта средствами HTML и PHP.

Скачать исходный код себе на компьютер!

Перед тем, как мы приступим к создания контактной формы для сайта, я Вам рекомендую просмотреть демо-результат работы.

Первым делом мы должны определить место, где будет наша форма. Помещать всё её содержимое мы будем между тегами:

Атрибут action указывает, в какой файл пойдут данные при нажатии кнопки «Отправить». Значит, второе, что мы создадим mail.php.

Метод передачи выбираем POST — то есть данные передадутся внутри тела запроса, а не через адресную строку.

Итак, получаем:

Последняя задача, которую нам необходимо понять, это как браузер поймёт, какие данные куда определять? Чтобы имя пошло к имени, фамилия — к фамилии? Для этого каждому input’у нужно задать атрибут name

Начнём

Начнём с максимально простого примера формы, а дальше, по ходу, уже разберёмся уже более детально.

Рассмотрим этот код и попробуем его модифицировать.

Для того, чтобы наша форма работала, необходимо добавить php-функции. Используем функцию $_POST для перевода значений из полей input в переменные:

К примеру, у нас есть:

Дальше функцией $_POST захватываем значение атрибута nameemail и преобразуем в переменную $email:

И для всех сразу:

Переменная $recipient задаёт тот адрес, на который отправятся данные. Ну а функция mail отправляет данные на почту.

Теперь перед нами стоит задача продвинуться вперёд, я покажу, как можно добавить выпадающий список, и как добавить радио — кнопки.

Выпадающий список

Для создания выпадающего меню, нам потребуется вставить код в HTML, и подкрепить его PHP.

HTML:

И весь код:

Атрибут size указывает, сколько вариантов ответа будет показываться за раз. Чаще всего это 1.

А вот и модифицированный код PHP, с учётом нашего выпадающего бокса:

Мы видим, что добавилась $dropdown.

Флажки и Радио-кнопки

Рассмотрим HTML-код флажков.

Обратите внимание на квадратные скобки в параметре name — они обеспечивают возможность выбора нескольких значений. Иногда используются просто разные имена.

Что касается кнопок — переключателей (radio), то мы можем добавить такой пример:

Здесь имя одинаковое, но разные значение value.

И опять, полный HTML:

Дополняем наш обработчик переменными, которые потребуются для отправки письма:

Любую из этих переменных можно дополнить различной полезной информацией. Я добавил имя пользователя в $subject, которая отвечает за тему письма.

Вы, например, можете в $mailheader добавить адрес Вашей организации, телефоны и т.п.

И напоследок — поработаем с почтой.

Вообще, по-идее, у нас при отправке данных, выводится надпись — просто Спасибо!. Но мы пойдём дальше и создадим ссылку, по которой пользователь сможет вернуться назад. Будьте внимательны, синтаксис PHP заставит нас немного изменить написание HTML. Например, вместо двойных ковычек « мы будем использовтаь одинарные .
После фразы Спасибо! добавим ссылку на form.html, и чуть поменяем стили ссылок.

Для начала в mail.php изменим команду echo, которая отвечает за вывод текста:

Но это мой вариант, фраза и стили могут быть любыми.

И финальный PHP:

Самые внимательные заметили, что для обработки флажков применяем цикл foreach.

Разумеется, то, что у нас получилось — это простейший вариант, здесь нет ни одной проверки и способов защиты от спама.

К посту будет приложен исходник файлов нашей формы, так что можете использовать его для своих проектов и настраивать, как вам угодно. Надеюсь, урок был (или будет) полезен.

Можете скачать файлы формы, или посмотреть демо

Если есть вопросы, то пишите в комментариях ниже статьи, и я обязательно отвечу!

Надеюсь, урок по созданию контактной формы для сайта, вам понравился.

Автор: Найко Михаил

Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.

E-mail: contact@webformyself.com

Проект webformyself.com — Как создать свой сайт. Основы самостоятельного сайтостроения

"Киберсант-вебмастер" — самый полный курс по сайтостроению в рунете!

P.S. Хотите опубликовать интересный тематический материал и заработать? Если ответ «Да», то жмите сюда.

Метки:

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

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

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