-
-
Save eksana/409024f7aab31b60f0ac543cc9e18008 to your computer and use it in GitHub Desktop.
Отправка почты с ajax
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Для начала напишем простую форму отправки на HTML: | |
<form id="form"> | |
<input type="text" name="name" required="required"/> | |
<input type="text" name="phone" required="required"/> | |
<input type="submit" value="Заказать звонок"/> | |
</form> | |
Для обязательных полей указываем: | |
required="required" | |
PHP | |
Далее создадим PHP файл для отправки нашей почты.Например, send.php и разместим его в корне сайта. Он будет содержать следующий код: | |
<? | |
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они | |
$to = 'mail@yandex.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов | |
$subject = 'Обратный звонок'; //Загаловок сообщения | |
$message = ' | |
<html> | |
<head> | |
<title>'.$subject.'</title> | |
</head> | |
<body> | |
<p>Имя: '.$_POST['name'].'</p> | |
<p>Телефон: '.$_POST['phone'].'</p> | |
</body> | |
</html>'; //Текст нащего сообщения можно использовать HTML теги | |
$headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма | |
$headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя | |
mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail | |
} | |
?> | |
Ajax | |
Для того, чтобы наш форма не перезагружала всю страницу, будем использовать Ajax. Для работы нашего скрипта обязательно подключаем jQuert для нашей страницы. Для этого вставляем следующий код в наш html документ: | |
<script type="text/javascript"> | |
$(document).ready(function(){ | |
$("#form").submit(function() { //устанавливаем событие отправки для формы с id=form | |
var form_data = $(this).serialize(); //собераем все данные из формы | |
$.ajax({ | |
type: "POST", //Метод отправки | |
url: "send.php", //путь до php фаила отправителя | |
data: form_data, | |
success: function() { | |
//код в этом блоке выполняется при успешной отправке сообщения | |
alert("Ваше сообщение отпрвлено!"); | |
}); | |
}); | |
}); | |
</script> | |
На этом всё. | |
Вывод | |
В итоге мы получили легкий и простой способ отправки почты с вашего сайта. Вы можете использовать его как вам угодно. Добавить больше полей, а также различные способы валидации полей. Дело за вами. | |
php,ajax,mail, отправка почты | |
https://habrahabr.ru/sandbox/93363/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://habrahabr.ru/sandbox/93363/