Меня не раз спрашивали, можно ли силами программы WebPageMaker создать на своем сайте форму обратной связи. Теоретически - да, а вот практически полученная форма связи не совсем корректно работает. Почему-то для реализации процесса отправки сообщения автоматически запускается почтовый клиент Outlook.
И все введенные данные в форму обратной связи приходится заново вводить в почтовую форму Outlook. Возникает вопрос - а какую тогда функцию выполняет почтовая форма, которую вебмастер создал с помощью программы? По-моему, всего лишь одну - запустить клиент Outlook на компьютере посетителя.
Поэтому предлагаю несколько иной вариант создания формы обратной связи для вашего сайта. Предупреждаю всех новичков - не надо заранее пугаться, ничего сложного в данном уроке не будет . Вся информация доступна даже непосвященным. Все, что вам потребуется - это внимание и правильное копирование фрагментов представленных ниже кодов и умение вставить их на нужные страницы сайта.
Теперь обо всем по порядку. Для рабочей формы обратной связи вам потребуется создать на сайте две страницы. На одной будет размещена сама форма, а на второй - код для обработки сообщений. Поскольку мы будем создавать простую форму без наворотов, то не будем задействовать сторонние обработчики, так как не каждый сможет его правильно настроить.
В нашем случае форма обратной связи будет иметь стандартные поля - Имя, E-mail и Текст сообщения. Но во избежания атак спамеров, будет еще и несложная каптча.
Вот так выглядит форма обратной связи на одном из моих сайтов, посвященному заработку в Интернете.

Если вас такой вариант устраивает, то приступаем к действию. Первым делом создаем на сайте новую страницу и называем к примеру ее forma.html. Затем вставляем на страницу приведенный ниже код. Вставка кода производится через меню программы Вставка - Скрипт-код.
Теперь внимательно копируем этот код:
<form action="mail.php" method="post" class="text_forma" >
Ваше имя:<br />
<input type="text" name="name" size="25" title="Введите ваше имя" />
<br />
Ваш e-mail (для ответа):<br />
<input type="text" name="email" size="25"/>
<br />
Ваш вопрос:<br />
<textarea name="mess" cols="25" rows="3" ></textarea>
<br />
Введите два любых ненулевых числа и их сумму: <br />
<input name="a" type="text" size="3" value="" />
плюс
<input name="b" type="text" size="3"
value="" />
равно
<input name="sum" type="text" size="5"
value="" />
<br />
<br />
<input type="submit" value="Отправить сообщение" />
</form>
Данный код выводит форму обратной связи на вашей странице контактов. А чтобы происходила дальнейшая обработка и отправка сообщения, то на второй созданной странице с обязательным названием mail.php размещаем такой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<title>Обратная связь</title>
</head>
<body >
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['mess'])) {$mess = $_POST['mess'];}
if (isset($_POST['a'])) {$a = $_POST['a'];}
if (isset($_POST['b'])) {$b = $_POST['b'];}
if (isset($_POST['sum'])) {$sum = $_POST['sum'];}
if (empty($name))//Проверка ввода имени
{
echo "<b>Не указано имя!<p>";//Если не введено имя, выводим сообщение
echo "<a href=forma.html>Вернуться к заполнению формы</a>";
}
else
if (empty($email))//Проверка ввода email
{
echo "<b>Не указан e-mail!<p>";
echo "<a href=forma.html>Вернуться к заполнению формы</a>";
}
else
if (empty($mess))//Проверка ввода текста сообщения
{
echo "<b>Сообщение не написано!<p>";
echo "<a href=forma.html>Вернуться к заполнению формы</a>";
}
else
{
$s = $a + $b;//Присваиваем переменной $s значение суммы a+b
if (empty($s))//Проверка ввода чисел
{
echo "<b>Не введены числа или сумма равна нулю!<p>";
echo "<a href=forma.html>Вернуться к заполнению формы</a>";
}
else
if ($s != $sum)//Сравниваем значение суммы с введенным посетителем сайта
{
echo "<b>Введите правильно сумму!<p>";//Если результаты разные, выводим сообщение об ошибке
echo "<a href=forma.html>Вернуться к заполнению формы</a>";
}
else//Если результаты совпадают, отправляем письмо
{
$to = "ivanov@yandex.ru"; //Укажите ваш адрес электронной почты
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Сообщение с вашего сайта";
$message = "Имя пославшего: $name \nЭлектронный адрес: $email \nСообщение: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "<b>Спасибо за отправку вашего сообщения!<p>";
}
else
{
echo "<p><b>Сообщение не отправлено. Приносим свои извинения.";
echo "<p><b>Попробуйте повторить отправку позже.";
}
}
}
?>
</body>
</html>
Надеюсь, вы обратили внимание на выделенные коричневым и розовым цветом части кода. Поясняю для чего я это сделала. Итак, коричневым цветом выделено название страницы вашего сайта, на котором размещена сама форма. В нашем случае - это forma.html.
У вас данная страница может называться по-другому, поэтому в коде вместо forma.html вписываете название вашей страницы. Теперь главный момент, розовым цветом выделен эл.адрес, на который будут поступать сообщения с сайта. Поэтому вместо ivanov@yandex.ru вы вписываете свой рабочий эл.адрес, на который будете получать сообщения с сайта.
И еще один важный момент, страницы, на которых вы размещаете фрагменты кода, должны иметь кодировку windows-1251, иначе получите вместо читабельной формы связи знаки вопроса на месте русских букв.
Если ваш сайт создан в другой кодировке, например utf-8, то в обоих фрагментах кода следует ее указать вместо прописанной там windows-1251 (в коде выделено зеленым цветом).
Теперь загружаете созданные страницы на сервер, поддерживающий PHP и проверяете работоспособность формы. Если все сделали правильно, то после отправки сообщения, вы будете переброшены на страницу mail.php, где увидите надпись: "Спасибо, ваше сообщение отправлено!". Если что-то упустили в процессе создания формы, то при отправке сообщения увидите иную надпись: "Извините, сообщение не отправлено. Попробуйте позже."
На указанный вами почтовый ящик придет сообщение с сайта подобного вида:
Посмотреть форму в действии можно
здесь, и даже отправить спасибо. Я разрешаю:))
Не забудьте поделиться материалом с друзьями!