На этой странице описан очень простой метод создания формы для отправки сообщения на любой указанный адрес электронной почты.
Существует множество способов достижения этой цели с помощью множества диких и замечательных языков программирования, но мы собираемся использовать язык сценариев под названием PHP.
PHP работает рука об руку с HMTL. Это просто и продуктивно. По всей вероятности, веб-хостинг, на котором размещаются ваши HTML-страницы в Интернете, будет поддерживать PHP.
Шаг 1: Создайте страницу на PHP
Если вы используете расширение “.php” вместо “.html” для своей веб-страницы, сервер, на котором размещена страница, будет знать, что нужно выполнить любой PHP, находящийся на ней. Итак, для начала просто сохраните пустую HTML-страницу как “contact.php”.
Шаг 2: Создайте форму
Вы можете прочитать о всех тонкостях форм в руководстве для начинающих по HTML. Чтобы сразу перейти к работе, давайте воспользуемся следующей готовым кодом формы на HTML.
<form method="post" action="contact.php"> <textarea name="message"></textarea> <input type="submit"> </form>
Все довольно просто, не так ли? action=»contact.php» Бит указывает странице отправлять содержимое формы самой себе при отправке формы. Безумие, да? Мы делаем все здесь с помощью одной и той же страницы…
Шаг 3: Отправьте данные формы по электронной почте
В самом верху страницы, ещё до Doctype, мы собираемся ввести небольшое количество PHP для обработки данных формы:
<?php if($_POST["message"]) { mail("your@email.address", "Form to email message", $_POST["message"], "From: an@email.address"); } ?> “<?php” обозначает начало PHP, а “?>”
─ конец. Сервер попытается выполнить все промежуточное как PHP.
Этот код проверяет, были ли отправлены данные формы, и, если да, он использует mail функцию для отправки данных в виде электронного письма на “your@email.address ” с темой “Форма для отправки сообщения электронной почты” и текстом сообщения, который совпадает с полем формы с названием “сообщение”. Электронное письмо будет отправлено от “an@email.address”.
Краткое описание
Вы можете попробовать это после загрузки (для этого требуется запуск сервера — вы не сможете запустить его локально).
Вот что происходит:
Как только форма будет отправлена, страница отправит данные самой себе.
Страница проверит, были ли отправлены данные, и, если были, отправит их по электронной почте.
Браузер загрузит последующий HTML-код страницы, включая вашу форму.
Дальнейшие шаги: Базовая страница “Свяжитесь с нами”
Хорошо, как насчёт того, чтобы сделать это немного больше похожим на форму “Свяжитесь с нами”? Мы можем добавить к сообщению имя отправителя и адрес электронной почты отправителя, а также включить сообщение с подтверждением, чтобы отправитель знал, что его сообщение отправлено. Вот и вся история:
<?php if($_POST["submit"]) { $recipient="your@email.address"; $subject="Form to email message"; $sender=$_POST["sender"]; $senderEmail=$_POST["senderEmail"]; $message=$_POST["message"]; $mailBody="Name: $sender\nEmail: $senderEmail\n\n$message"; mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>"); $thankYou="<p>Thank you! Your message has been sent.</p>"; } ?><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Contact form to email</title> </head> <body> <?=$thankYou ?> <form method="post" action="contact.php"> <label>Name:</label> <input name="sender"> <label>Email address:</label> <input name="senderEmail"> <label>Message:</label> <textarea rows="5" cols="20" name="message"></textarea> <input type="submit" name="submit"> </form> </body> </html>
В этом примере есть:
- Проверка отправки формы (на этот раз путём поиска в поле формы с именем “отправить”)
- Настройка набора переменных:
- Ваш адрес электронной почты
- Тема электронного письма
- Имя отправителя (взято из формы)
- Адрес электронной почты отправителя (берётся из формы)
- Сообщение (взято из формы)
- Отправка электронной почты с использованием всех этих переменных
- Установка переменной для сообщения с подтверждением
- Загрузка HTML, включая сообщение с подтверждением
Если страница загружается, а данные формы не были отправлены, то электронное письмо не будет составлено и сообщение о соответствии не будет установлено, поэтому все, что произойдет, это загрузка HTML страницы.
Страницы в тему:
- Формы (Урок HTML для начинающих)
- Веб-хостинг