Форма обратной связи

Maugli

Member
Joined
Oct 19, 2004
Messages
11
Reaction score
1
Помогите плиз с поиском скрипта обратной связи с сайта !
Нужно несколько полей
1. Контактное лицо
2. Организация
3. город, регион
4. Контактный телефон
5. контактный e-mail
6. поле выбора в какой отдел необходимо отправить сообщение (на какой мейл)
7. Само соообшение

Кто знает подскажите плиз .. а то я в php не силен ...
 

NetTiger

Member
Joined
Dec 25, 2004
Messages
49
Reaction score
4
Есть два варианта, с отправкой полученой инфы на твой e-mail, и отправка в файл txt, какой нужен?
 

Malay

Member
Joined
Feb 6, 2004
Messages
32
Reaction score
1
Location
Одесса
Website
www.sf.biz.ua
NetTiger, давай оба!
Я бы сам написал, но раз уж ты первый решился, то и карты тебе в руки. =)
 

zipper

Member
Joined
Apr 17, 2004
Messages
720
Reaction score
171
Age
37
Нехорошо так делать

Так началось ты мне скинь и так далее. это форум или что?????? другие модет тоже захотят узнать что и как в формах.
Вот мой вариант, а дальше под себя переделай
Code:
ф-я mail(). 
<? 
echo " 
<form action=contact.php method=post> 
Ваше имя:<input type=text name=username><br> 
Ваш е-мэил: <input type=text name=usermail><br> 
Тема письма: <input type=text name=subject value=отправить><br>"; 
Текст письма:<textarea width=50 cols=50 name=mailbody rows=8></textarea> 
<input type=submit name=mail value=отправить><br>"; 
if($mail=="отправить"){ 
mail("ЗдесьПишиСвойМэил","$mailbody","From: $subject") 
}

или вот так вот еще можно

Code:
<?php
#################################################### 
#Скопируйте весь текст в папку, где работют файлы с 
#расширением ".php" и назовите файл под любым именем, 
#но с расширением ".php" (например, "test.php") 
#################################################### 
?>  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD> 
<TITLE> Программа отправки писем </TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</HEAD> 
<BODY> 
<?php
if ($submit != "Поcлать"){ 
echo"
<table align=center width=400><tr>
<td align=center>Отправка почты</td></tr></table> 
<br><form method=post action=$PHP_SELF> 
<table align=center width=400><tr><td> 
<font color=FF00FF>* Заполните все поля</font>";

    //печатаем имя пользователя в форме
echo"<br> * Ваше имя:<br> 
<input type=text name=name size=40>";

    //печатаем email пользователя в форме
echo"<br> * Ваш email:<br> 
<input type=text name=mail size=40>";

    //печатаем сам текст письма в форме
echo"<br> * Текст письма:
<br><textarea rows=4 name=message cols=40 WRAP=virtual></textarea> 
</td></tr><tr><td>"; 

    //кнопки формы
echo"<input type=submit value=Поcлать name=submit> 
<input type=reset value=Нет name=reset> 
</td></tr></table></form><br><br>"; 
} 

    //если информация из формы послана скрипту
if ($submit == "Поcлать"){ 
    //если не все поля заполнены, выводим ошибку
if (($name == "") or ($mail == "") or ($message == "")) 
{ 
echo"<table border=0 width=100%><tr>
<td align=center><font color=000080 size=3>
<u>Ошибка отправки письма !</u></font>
</td></tr></table> 
<table border=0 width=100%><tr><td align=center>
<br><font color=FF00FF size=3>Ваше сообщение не отправлено.</font> 
</td></tr><tr><td align=center>Причина: 
не заполнены все обязательные поля. 
<br>Заполните поля, обозначенные 
<b><font color=FF00FF size=3>*</font></b>, 
и повторите попытку снова...
<br><br><br><a href="javascript:history.back(1)">Вернуться</a> 
</td></tr></table>
</BODY></HTML>"; 
exit; 
} 

    //если заполнены все поля, выводим все нормально
else { 
if(empty($ip)){if (getenv('HTTP_X_FORWARDED_FOR')) 
{$ip=getenv('HTTP_X_FORWARDED_FOR'); } 
else{$ip=getenv('REMOTE_ADDR'); }} 
else{$ip=getenv('REMOTE_ADDR'); } 
$i = time(); 
$data = date("d m Y",$i) ." г."; 

    //в какой форме будет получено письмо
$body = " 
<font color=de0000 face=verdana size=2>Это сообщение отправлено с веб сайта</font><br> 
<font color=000080 face=verdana size=2>----------------------------------------</font><br> 
<font color=green face=verdana size=2>Информация о пользователе:<br> 
<font color=green face=verdana size=2>Имя пользователя:</font> <font color=de0000 face=verdana size=2>%name%</font> (<font face=verdana size=2 color=blue>%ip%</font>)<br> 
<font color=green face=verdana size=2>E-mail:</font> <font color=de0000 face=verdana size=2>%mail%</font><br> 
<font color=green face=verdana size=2>Дата сообщения:</font> <font color=de0000 face=verdana size=2>%date%</font><br> 
<font color=000080 face=verdana size=2>----------------------------------------</font><br><br> 
<font color=green face=verdana size=2>Сообщение:</font><br><font color=de0000 face=verdana size=2>%message%</font><br> 
<font color=000080 face=verdana size=2>----------------------------------------</font> 
"; 

    //email, тот куда будет приходить сообщение, то есть ваш
$user="[email protected]"; 
    //тема сообщения, при получении будет в строке, где тема
$newm = "Отправлено с сайта 777";

    //изменяем данные в сообщении
$body = str_replace ("%name%",$name,$body); 
$body = str_replace ("%date%","". $data."","$body"); 
$body = str_replace ("%message%","$message","$body"); 
$body = str_replace ("%mail%","$mail","$body"); 
$body = str_replace ("%ip%","$ip","$body"); 

    //добавим $headers для правильного отображения в html
$headers="Content-Type: text/html; charset=windows-1251\n"; 
$headers.="From: $user"; 

    //посылаем само письмо: $user - адрес посылки, $newm - тема письма,
    //$body - в каком виде будет сообщение,
    //$headers - для правильного отображения в виде html
@mail($user,$newm,$body,$headers); 

    //печатаем, что все хорошо
echo"<table border=0 width=100%><tr><td><font color=000080 size=3>
<u>Вы успешно отправили письмо !</u></font></td></tr></table><br> 
<table align=center border=0 width=95%>"; 
echo"<tr><td width=20%>Ваше имя:</td><td width=80%>
<font color=000080>$name</font></td></tr> 
<tr><td width=20%>Ваше email:</td><td width=80%>
<font color=000080>$mail</font></td></tr> 
<tr><td>Дата:</td><td><font color=000080>$data</font></td></tr> 
<tr><td colspan=2><br><p align=justify>Ваше сообщение:<br>
<font color=3300cc>$message</font></p></td></tr> 
</table> "; 
echo"</BODY></HTML>"; 
exit; 
} 
} 
?>
 
Last edited by a moderator:

NetTiger

Member
Joined
Dec 25, 2004
Messages
49
Reaction score
4
Извиняюсь за задержку, на работе запарился.
итак:
Вставте в код формы на свою страницу обратной связи.
например:
Code:
<form name="form1" method="get" action="guest.php">

          <table width="600" border="0" cellpadding="0" cellspacing="0">

            <tr>

              

      <td valign="middle" align="right" width="295">имя</td>

              <td width="10">&nbsp;</td>

              <td width="295" valign="top" align="left">

                <input type="text" name="name" size="40" maxlength="40">

              </td>

            </tr>

            <tr>

              <td valign="middle" align="right" width="295">e-mail</td>

              <td width="10">&nbsp;</td>

              <td width="295" valign="top" align="left">

                <input type="text" name="email" size="40" maxlength="40">

              </td>

            </tr>

            <tr>

              

      <td valign="top" align="right" width="295" height="12">сообщение</td>

              <td width="10" height="12">&nbsp;</td>

              <td width="295" valign="top" align="left" height="12">

                <textarea name="msg" cols="60" rows="5"></textarea>

              </td>

            </tr>

            <tr align="center">

              <td valign="top" colspan="3" height="12">

                <input type="submit" name="Submit" value="отправить">

              </td>

            </tr>

          </table>

          <p>&nbsp;</p>

        </form>


Форму можно изменить под ваши нужды.


далее:
Создаём файл guest.php
в котором будет следующий код:
PHP:
<?

$files = "mess.txt";





if ($email == "") { $email = "нет"; }

if ($name == "") { $name = "нет"; }

$msg=substr($msg,0,999);

$email=substr($email,0,39);

$name=substr($name,0,39);



if ($msg!= "") {



$time = Date("h:i:M:d");

$soo = "\n<b> Время отправления $time  Имя:$name e-mail:(<a href=\"mailto: $email \">

$email </a>)</b><br><b>Сообщение</b><br>$msg<hr>";

$fp = fopen($files, "a+");

$fw = fwrite($fp, $soo);

fclose($fp); }





?>

разумеется этот код настраивется под вашу форму в данном случае он настроен на обработку приведённой ранее формы.

Остальное содержимое файла guest.php
будет отображатся в браузере после отправки юзером сообщения.
Обычно здесь пишут что-то типа: Ваше сообщение отправлено

И последним создаём файл: mess.txt

в который и будут записыватся все приходящие сообщения.;)
 
Top