Войти на сайт

Апдейты поисковых машин
   
каталог


Форма обратной связи это легко и просто.

rss
У многих возникает потребность настроить прямую линию общения со своим пользователям сайта. Согласитесь не совсем удобно заставлять пользователя копировать ваш e-mail идти на почту и писать вам письмо непосредственно в почтовом интерфейсе, многие просто не станут этого делать, вот именно для таких пользователей и создают на сайтах форму обратной связи с администрацией, давайте в этой статье подробно поговорим о создании такой формы у себя на сайте при помощи html и php.

Для начало хочу сказать что перед тем как что-то программировать нужно точно проработать у себя в голове логический ход событий, в нашем случаи это поля которые будут находится в форме для отправки на ваш e-mail и сам файл обработчик который непосредственно будет отправлять вам письмо.

Форма:

<form action="тут файл обработчик" method="post">
Имя:*
<input name="name" type="text" size="20" maxlength="50" /><br /><br />

E-mail для ответа:*
<input name="mail_back" type="text" size="20" maxlength="50" /><br /><br />

Тема письма:*
<input name="sabject" type="text" size="20" maxlength="50" /><br /><br />

Сообщения:*<br />
<textarea name="text" cols="40" rows="10"></textarea><br /><br />

<input name="submit" type="submit" value="Отправить" />
</form>


И так давайте разберем подробней что значат некоторые параметры полей для ввода, для того чтоб вам было удобней адаптировать её под дизайн своего сайта.

Параметры поля input:

1. name (При отправки почты под этим названием будет значения этого поля в массиве $_POST)
2. type (Этот параметр указывает что в этом поле будет, в нашем случаи это текст )
3. size (Этот параметр задает ширину поля в символах не в пиксилях)
4. maxlength (Этот параметр задает максимальное количество символов которые можно ввести в это поле)

Параметры поля textarea:

1. name (Как и в первом случаи, имя этого поля будет содержать передоваемые данные в массиве $_POST в файле обработчике)
2. cols (Этот параметр задает ширину, в символах не в пиксилях)
3. rows (Этот параметр задает количество рядков тоже в символах не в пиксилях)

С формой вроде-бы закончили, теперь для того чтоб эту форму отправить на e-mail нужно заняться самим обработчиком. Сам обработчик будем делать на языке программирования php.

Обработчик:

<?php

/*Тут при помощи оператора if посмотрим есть ли данные в массиве $_POST которые отправили с формы.*/ 
if (isset($_POST['name']))      {$name $_POST['name'];}  
if (isset(
$_POST['mail_back'])) {$mail_back $_POST['mail_back'];}  
if (isset(
$_POST['sabject']))   {$sabject $_POST['sabject'];}  
if (isset(
$_POST['text']))      {$text $_POST['text'];}  


if (isset(
$_POST['submit']))  //Проверяем бала ли нажата кнопочка отправить 
{  
//Тут смотрим все ли поля заполнены 
if (empty($name) and empty($mail_back) and empty($sabject) or empty($text))   
{  
//Если какое не будь поле не заполненное то пишем пользователю   
<input name='back' type='button' value='Назад' onclick='javascript:self.back();'>"); 
  
exit ("
<p>Вы ввели не всю информацию вернитесь назад и попробуйте занова!!!</p>  
//и останавливаем работу скрипта 
}   

/*Тут при помощи функции trim обрезаем пробелы в начале и в конце текста который вводил пользователь*/   
$name      trim($name);  
$mail_back trim($mail_back);  
$sabject   trim($sabject);  
$text      trim($text);  

/*Тут с помощью stripslashes заслешеваем спец символы если в тексте такие найдутся в целях безопасности*/
$name      stripslashes($name);  
$mail_back stripslashes($mail_back);  
$sabject   stripslashes($sabject);  
$text      stripslashes($text);  

/*Тут с помощью htmlspecialchars меняем символы html в текст, тоже в целях безопасности*/ 
$name     htmlspecialchars($name);  
$mail_back htmlspecialchars($mail_back);  
$sabject htmlspecialchars($sabject);  
$text htmlspecialchars($text);  

/*Тут введите адрес на который нужно отправлять письмо*/  
$my_mail "my_mail@mail.ru";  

/*Составляем письмо */ 
$pismo "Вам пишет".$name.$text;  

/*Теперь отправляем само письмо к себе на почту*/  
$result mail ($my_mail,$sabject,$pismo,"Content-type:text/plain;Charset=UTF-8
"
);  

/*Теперь проверяем ушло письмо или нет*/ 
if ($result == true) { 
echo 
"<html><head>  
<meta http-equiv='Refresh' content='2; URL=/'>  
</html></head> Спасибо ваше письмо отправлено, мы с вами свяжемся."
;  
} else {  
echo 
"<html><head>  
<meta http-equiv='Refresh' content='2; URL=/'>  
</html></head> Письмо не отправлено попробуйте пожалуйста снова."
;  

} else  { 
/*Тут отправляем на главную страницу пользователя, если кнопка отправить в форме не была нажата.*/  
echo "<html><head>  
<meta http-equiv='Refresh' content='0; URL=/'>  
</html></head>"
;  
exit ();  
}
?>


Вот и все форма и обработчик готовы, как видите сложного ничего нет, при желании можно было еще добавить несколько полей, но я расписал вам саму основу, думаю как заточить форму под ваши нужды вы разберетесь, желаю вам удачи.
 
Дата добавления: 2012-08-23 20:43:07, просмотров: 4230
Комментарии: 0
Пожалуйста, авторизируйтесь, для возможности добавить комментарий..

Copyright © 2011 - 2017
seo-assistent.net
Поддержка
ICQ: 259904151