Как сделать форму для сайта
В большинство сайтов используют в интерфейсе пользователя формы как средства интерактивности: чтобы узнать мнение читателя, вовремя решить вопрос потенциального клиента, пока он не ушёл к конкурентам и т.п. Форма представляет собой, обычно, несколько полей для пользовательского ввода и/или переключатели для выбора заранее обозначенных вариантов, а также кнопка отправки формы. Пример формы вы увидите в конце этого поста — форма комментирования (воспользовавшись случаем, прошу оставить комментарий после прочтения).
Простейшая форма
Давайте создадим вместе простейшую форму. Она будет представлять собой поле ввода имени, e-mail и сообщения. Такие формы чаще всего используются для организации связи с посетителями сайта. Корректно заполненное поле «e-mail» укажет вам, куда писать ответ на сообщение, а поле «Имя» подскажет, как обратиться к собеседнику. Вот код этой формы:
<form method="POST" action="/send.php" target="_blank"> <p>Имя (как к вам обращаться):</p> <input name="name"> <p>e-mail для связи с вами:</p> <input name="contact"> <p>Что вы хотите сказать:</p> <textarea name="message"></textarea> <p><input type="submit" value=" Отправить "></p> </form>
А вот так форма выглядит:
Имя (как к вам обращаться):
e-mail для связи с вами:
Что вы хотите сказать:
Но это только половина дела. Ведь нам ещё надо обработать получение сообщения, отправленного через эту форму. Для этого надо создать файл «send.php» в корневой папке сайта. В первой строке описанного выше кода есть инструкция action="/send.php"
, которая как раз указывает, что данные формы должен обрабатывать файл «send.php» в корне сайта.
Код файла send.php:
<? # получаем данные: $d = @ array($_POST['name'], $_POST['contact'], $_POST['message']); # Записываем в файл messages.txt @ file_put_contents('messages.txt', join(' | ',$d). "\n==== конец сообщения ====\n", FILE_APPEND); # Сообщение об успешном завершении echo 'Yes! Message was sent. Thank you!';
В результате полученное сообщение будет записано в файл messages.txt в корне вашего сайта, т.е. будет доступно по адресу http://вашсайт/messages.txt
и выглядеть примерно вот так:
Вася | vasya@...ru | Здравствуйте, передайте Пете привет!
==== конец сообщения ====
Петя | petya@...ru | Доброе время! Мне кто-нибудь привет передавал?
==== конец сообщения ====
Готовые решения для создания форм на сайте
Как вы убедились, даже для создания простейшей формы необходимы навыки программирования. А без соответствующих навыков работоспособность формы не гарантирована, даже если вы точно скопируете вышеприведённые коды и вставите их куда нужно. Чаще всего возникают проблемы с кодировками, возможны трудности с созданием файлов на хостинге и установкой нужных прав (иногда требуется — зависит от настроек хостинга).
Потому и существуют готовые решения, избавляющие вебмастеров от технической стороны вопроса, позволяющие сосредоточить усилия на заполнении сайта полезной информацией, а не на его функционировании. Например, можно использовать плагины для используемой вами CMS — это требует навыков администрирования, но без необходимости программировать. Пример плагина для WordPress: «Fast Secure Contact Form» (в Панели администратора заходим в меню Плагины — Добавить новый, в поиске пишем «Fast Secure Contact Form» и жмём «Установить»).
Наипростейшее решение для вебмастеров с минимумом технических навыков — воспользоваться услугами сайта formdesigner.ru, который представляет собой конструктор форм заказа, позволяющий сгенерировать любую форму. Например, есть стандартные варианты: формы обратной связи, приёма заявок, голосования, оформления подписки и т.п.
2 ответа к “Как сделать форму для сайта”
Я в вордпрессе установил форму контактов с помощью плагина, чем больше занимаюсь своими сайтами тем интересней становится тема о програмирование. Буду заглядывать к вам, учиться.
Хорошо, Олег, заглядывайте. Буду рад)