На этом уроке мы познакомимся с функцией mail () , на примере создания формы обратной связи на PHP с последующей отправкой полученных данных на почту.
На этом уроке мы познакомимся с функцией mail (), на примере создания формы обратной связи на PHP с последующей отправкой полученных данных на почту.
Для этого создадим два файла - forma.php и mail.php. В первом файлике будет находиться только форма с полями для ввода пользователем данных. Внутри тега form - кнопка "Отправить" и атрибут action, который ссылается на обработчик - mail.php, именно к нему обращаются данные из формы при нажатии кнопки "Отправить". В нашем примере данные формы отправляются на веб-страницу с названием «/mail.php». На этой странице прописан скрипт на PHP, который обрабатывает данные формы :
<form action="./mail.php" method="post">
Данные формы отправляются методом POST (обрабатывается как $ _POST). $ _POST - это массив переменных, переданных текущему скрипту через метод POST.
Ниже вы видите содержимое файла forma.php, поля которой заполняет сам пользователь на каком-нибудь веб-сайте. Все поля для ввода данных обязательно должны иметь атрибут name, значения мы прописываем сами, исходя из логики.
<!DOCTYPE html>
<html>
<head>
<title>Форма обратной связи на PHP с отправкой на почту</title>
</head>
<body>
<h2>Форма обратной связи на PHP</h2>
<!--Данные введенные пользователем обрабатываются кодом в mail.php-->
<form action="./mail.php" method="post">
<!--Тег используется для группировки связанных элементов в форме-->
<fieldset>
<!--Тег задает заголовок для групповых элементов-->
<legend>Оставьте сообщение:</legend>
Ваше имя:
<!--Устанавливает однострочное текстовое поле ввода:-->
<input type="text" name="name">
<!--Используется для полей ввода, которые должны содержать адрес электронной почты.-->
E-mail:
<input type="text" name="email">
Номер телефона:
<input type="text" name="phone">
Сообщение:
<!--Тег разрешает многострочный ввод текста.-->
Текстовая область может содержать неограниченное количество символов-->
<textarea rows="10" cols="45" name="message"></textarea>
<!--Устанавливает кнопку для отправки данных формы в обработчик формы.-->
<input type="submit" value="Отправить сообщение">
</fieldset>
</form>
</body>
</html>
Так форма визуально выглядет в браузере.

Далее пишем код для файла mail.php. Придумываем сами имена для переменных. В PHP переменная начинается со знака $, а затем имя переменной. Текстовое значение переменной заключается в кавычки. С помощью переменных на емайл администратора передается содержимое формы, просто подставив в квадратные скобки имя элемента формы - значение name.
<?php
$to = "yourmail@gmail.com"; // емайл получателя данных из формы
$tema = "Форма обратной связи на PHP"; // тема полученного емайла
$message = "Ваше имя: ".$_POST['name']."<br>";//присвоить переменной значение, полученное из формы name=name
$message .= "E-mail: ".$_POST['email']."<br>"; //полученное из формы name=email
$message .= "Номер телефона: ".$_POST['phone']."<br>"; //полученное из формы name=phone
$message .= "Сообщение: ".$_POST['message']."<br>"; //полученное из формы name=message
$headers = 'MIME-Version: 1.0' . "\r\n"; // заголовок соответствует формату плюс символ перевода строки
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // указывает на тип посылаемого контента
mail($to, $tema, $message, $headers); //отправляет получателю на емайл значения переменных
?>
Таким образом данные из массива $_POST будут переданы соответствующим переменным и отправлены на почту при помощи функции mail. Давайте заполним нашу форму и нажмем кнопку отправить. Не забудьте указать ваш е-майл. Письмо пришло моментально.

