Нашей условной задачей будет отправка формы заказа обратного звонка на почту. Поля ввода вы можете использовать любые, главное чтобы отличались атрибуты name и id в теге input:
-
Создаем html форму для отправки предположим в файле index.html
<form action="send.php" method="POST"> <input type="text" name="name" placeholder="Ваше имя"> <input type="text" name="phone" placeholder="Ваш телефон"> <input type="submit" class="btn" > </form>
-
Создаем обработчик формы - файл send.php. Чтобы было легко сориентироваться в скрипте, оставляю ключевые комментарии у нужных строк.
<?php /* Здесь проверяется существование переменных */ if (isset($_POST['name'])) {$phone = $_POST['name'];} if (isset($_POST['phone'])) {$name = $_POST['phone'];} /* Сюда впишите свою эл. почту */ $myaddres = "email@yandex .ru"; // кому отправляем /* А здесь прописывается текст сообщения, \n - перенос строки */ $mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name"; /* А эта функция как раз занимается отправкой письма на указанный вами email */ $sub='Заказ'; //сабж $email='Заказ обратного звонка'; // от кого $send = mail ($myaddres,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email"); ini_set('short_open_tag', 'On'); header('Refresh: 3; URL=index.html'); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="refresh" content="3; url=index.html"> <title>Спасибо! Мы свяжемся с вами!</title> <meta name="generator"> <script type="text/javascript"> setTimeout('location.replace("/index.html")', 3000); /*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/ </script> </head> <body> <h1>Спасибо! Мы свяжемся с вами!</h1> </body> </html>
Обратите внимание, что данный скрипт после отправки выдаст сообщение с благодарностью и через 3 секунды вернет нас обратно к файлу index.html. При необходимости, можете использовать этот скрипт через AJAX запрос.
Всё готово. Скрипт 100% работает. Если письма не доходят, проверьте правильность ввода адреса почты и посмотрите логи на вашем хостинге.