В предыдущей статье был рассмотрен принцип создания многостраничной формы обратной связи. Теперь перейдем от теории к практике. Нам требуется, чтобы после заполнения посетителем сайта всех страниц формы на ваш e-mail пришло письмо со всеми введенными данными. Исходная форма для экспериментов остается прежней - рис.1:
Рис.1. Исходная форма обратной связи
Разделим, как и раньше, эту форму на три части и начнем с создания первой страницы - ввода имени посетителя. Назовем её name.html. Её код и результат вывода на экран следующие - рис.2:
Как видим, после нажатия кнопки Далее идет обращение к странице еmail.php (атрибут action="email.php"). Обратите внимание, что теперь страница должна иметь расширение .php, а не .html. На ней выводится следующий фрагмент формы обратной связи, в первую строчку которой с помощью простейшей рнр-конструкции заносится введенное ранее имя , а вторая строчка - ввод e-mail (подробнее см. Исправление ошибок при заполнении формы обратной связи). Соответствующие код и результат вывода на экран следующие - рис.3:
В данном примере строка с ранее введенным именем посетителя не выводится. Если же вам нужно выводить на экран все пункты формы по мере её заполнения, то уберите атрибут style="display:none" в теге <textarea>.
При нажатии кнопки Далее откроется последняя, третья страница с формой для ввода сообщения - mess.php - рис.4:
Теперь мы имеем законченную форму обратной связи с заполненными ранее полями имя, e-mail (cкрытые) и текстом сообщения. Отправка письма происходит обычным путем при нажитии кнопки Отправить сообщение с помощью программы, размещенной на странице send.php. Хотя этот процесс и описан многократно в предыдущих статьях, все же приведу напоследок код этой страницы:
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['mail'])) {$mail = $_POST['mail'];}
if (isset($_POST['mess'])) {$mess = $_POST['mess'];}
$to = "pupkin@rambler.ru"; //укажите ваш адрес
$headers = "Content-type: text/plain; charset = utf-8";
$subject = "Сообщение с вашего сайта";
$message = "Имя пославшего: $name \nЭлектронный адрес: $mail \nСообщение: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "<b>Спасибо за отправку вашего сообщения!<p>";
}
else
{
echo "<p><b>Сообщение не отправлено. Приносим свои извинения.";
echo "<p><b>Попробуйте повторить отправку позже";
} ?>
8.10.2012 г.
Ещё статьи по теме "Создание, оптимизация и раскрутка сайта":