Вход Регистрация
Отправка почты с помощью PHP и Ajax (оценка: 0)
Вашему вниманию представляю легкий, простой и полностью настраиваемый метод отправки почты на PHP. Для того, чтобы не перезагружать страницу во время отправки, будем использовать Ajax. Этот способ отлично подойдет для одностраничных и простых сайтов.


Итак, приступаем. В качестве примера рассмотрим самую банальную форму заказа звонка. Форма будет содержать всего два поля номер и телефон.

Для начала напишем простую форму отправки на HTML:
  1. <form id="form">
  2. <input type="text" name="name" required="required"/>
  3. <input type="text" name="phone" required="required"/>
  4. <input type="submit" value="Заказать звонок"/>
  5. </form>

Для обязательных полей указываем:
  1. required="required"


Далее создадим PHP файл для отправки нашей почты.Например, send.php и разместим его в корне сайта. Он будет содержать следующий код:

  1. if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
  2. $to = 'mail@yandex.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
  3. $subject = 'Обратный звонок'; //Заголовок сообщения
  4. $message = '
  5. <html>
  6. <head>
  7. <title>'.$subject.'</title>
  8. </head>
  9. <body>
  10. <p>Имя: '.$_POST['name'].'</p>
  11. <p>Телефон: '.$_POST['phone'].'</p>
  12. </body>
  13. </html>'; //Текст нашего сообщения можно использовать HTML теги
  14. $headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
  15. $headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя
  16. mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
  17. }


Для того, чтобы наш форма не перезагружала всю страницу, будем использовать Ajax. Для работы нашего скрипта обязательно подключаем jQuert для нашей страницы. Для этого вставляем следующий код в наш html документ:

  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
  4. var form_data = $(this).serialize(); //собираем все данные из формы
  5. $.ajax({
  6. type: "POST", //Метод отправки
  7. url: "send.php", //путь до php файла отправителя
  8. data: form_data,
  9. success: function() {
  10. //код в этом блоке выполняется при успешной отправке сообщения
  11. alert("Ваше сообщение отправлено!");
  12. });
  13. });
  14. });
  15. </script>


Вывод

В итоге мы получили легкий и простой способ отправки почты с вашего сайта. Вы можете использовать его как вам угодно. Добавить больше полей, а также различные способы валидации полей. Дело за вами.
Автор: * -=(C)DRU987=- (Dev) / 08.03.2016 в 12:37
Просмотров: 1092
ТОП блогов | поиск | все блоги
Онлайн: 3
Реклама