Форма для отправки по электронной почте

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

Существует множество способов достижения этой цели с помощью множества диких и замечательных языков программирования, но мы собираемся использовать язык сценариев под названием 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 страницы.

Страницы в тему:

Добавить комментарий