www.seomark.ru
Обзоры интересных и полезных программ, фотография, радио, веб-дизайн и т.д. и т.п. и др. и пр.

Веб-дизайн и поисковая оптимизация

Логотип Софт

Создание формы обратной связи

Многостраничная форма обратной связи
(окончание)

В предыдущей статье был рассмотрен принцип создания многостраничной формы обратной связи. Теперь перейдем от теории к практике. Нам требуется, чтобы после заполнения посетителем сайта всех страниц формы на ваш e-mail пришло письмо со всеми введенными данными. Исходная форма для экспериментов остается прежней - рис.1:

Ваше имя:

Ваш e-mail (для ответа):

Ваше сообщение:

Рис.1. Исходная форма обратной связи

Разделим, как и раньше, эту форму на три части и начнем с создания первой страницы - ввода имени посетителя. Назовем её name.html. Её код и результат вывода на экран следующие - рис.2:

<!--Форма для ввода имени -->
<form method="post" action="email.php">
Ваше имя:<br />
<input name="name" type="text" value="" size="30"/>
<br />
<br />
<input type="submit" value="Далее"/>
</form>

Ваше имя:


Рис.2. Первая часть формы - ввод имени

Как видим, после нажатия кнопки Далее идет обращение к странице еmail.php (атрибут action="email.php"). Обратите внимание, что теперь страница должна иметь расширение .php, а не .html. На ней выводится следующий фрагмент формы обратной связи, в первую строчку которой с помощью простейшей рнр-конструкции заносится введенное ранее имя , а вторая строчка - ввод e-mail (подробнее см. Исправление ошибок при заполнении формы обратной связи). Соответствующие код и результат вывода на экран следующие - рис.3:

<!--Форма для ввода e-mail -->
<form method="post" action="mess.php">
<textarea style="display:none" name="name" rows="1" cols="30">
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
echo "$name";//Ввод имени
?>
</textarea>
Ваш e-mail (для ответа):<br />
<input name="mail" type="text" value="" size="30" />
<br />
<br />
<input type="submit" value="Далее" />
</form>

Ваш e-mail (для ответа):


Рис.3. Вторая часть формы - ввод email

В данном примере строка с ранее введенным именем посетителя не выводится. Если же вам нужно выводить на экран все пункты формы по мере её заполнения, то уберите атрибут style="display:none" в теге <textarea>.

При нажатии кнопки Далее откроется последняя, третья страница с формой для ввода сообщения - mess.php - рис.4:

<!--Форма для ввода сообщения -->
<form method="post" action="send.php">
<textarea style="display:none" name="name" rows="1" cols="30">
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
echo "$name";//Ввод имени
?>
</textarea>
<textarea style="display:none" name="mail" rows="1" cols="10">
<?php
if (isset($_POST['mail'])) {$mail = $_POST['mail'];}
echo "$mail";//Ввод e-mail
?>
</textarea>
Ваше сообщение:<br />
<textarea name="mess" rows="2" cols="30"></textarea>
<br />
<br />
<input type="submit" value="Отправить сообщение" />
</form>

Ваше сообщение:


Рис.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 г.

см. все статьи по веб-дизайну >>

Задать вопрос автору





Яндекс.Метрика

Copyright © 2008 - Марк Розенталь e-mail: Мой e-mail
Перепечатка материалов сайта разрешается при условии сохранения имени автора и гиперссылки на www.seomark.ru
Ключевые слова: создание формы обратной связи, форма обратной связи, скрипт формы обратной связи, продвижение сайта