Jump to content
  • 0

Вернали форма для отправки на мейл?


skazochnyi
 Share

Question

Всем привет, принимайте новенького, я тут к вам срузу с просьбами:

1. Пожалуйста, кому не сложно, проверьте правильно ли я написал форму для отправки на мой мейл (см. в конце сообщения, я ее конечно сократил, убрал однотипные части).

2. Кто подскажет как мне в теге Textarea задать макс. количество вводимых символов, maxlength не работает может из-за браузера? У мена Опера.

3. Каким образом добавить "обязательные поля для заполнения" (какие теги за это отвечают имеется ввиду)

4. Ну и если не сложно, и есть возможность оптимизировать то что я наваял, то подскажите плиз

Заранее спасибо.

<form action="mailto:skazochnyi@**.net" enctype="text/plain" "multipart/form-data" method="POST">

<table width="750" bgcolor="#E8E8E8">

<tr>
<td width="250"> Выберите тип операции</td>
<td>
<SELECT name="тип операции">
<OPTION value= Продать selected >Продать
<OPTION value= Сдать >Сдать
<OPTION value= Купить >Купить
<OPTION Value= Арендовать >Арендовать
</OPTION>
</SELECT>
</td>
</tr>

<tr>
<td>Выберите регион</td>
<td>
<SELECT name="Регион">
<OPTION value= АР Крым selected >АР Крым
<OPTION value= Винницкая обл. >Винницкая обл.
<OPTION value= Волынская обл. >Волынская обл.
<OPTION Value= Днепропеторвская обл. >Днепропеторвская обл.
<OPTION Value= Донецкая обл. >Донецкая обл.
<OPTION Value= Житомиская обл. >Житомиская обл.
<OPTION Value= Закарпатская обл. >Закарпатская обл.
<OPTION Value= Запорожская обл. >Запорожская обл.
<OPTION Value= Ив-Франковская обл. >Ив-Франковская обл.
<OPTION Value= Киевская обл. >Киевская обл.
<OPTION Value= Кировоградска обл. >Кировоградска обл.
<OPTION Value= Луганская обл. >Луганская обл.
<OPTION Value= Львовская обл. >Львовская обл.
<OPTION Value= Николаевская обл. >Николаевская обл.
<OPTION Value= Одесская обл. >Одесская обл.
<OPTION Value= Полтавская обл. >Полтавская обл.
<OPTION Value= Ровенская обл. >Ровенская обл.
<OPTION Value= Сумская обл. >Сумская обл.
<OPTION Value= Тернопольская обл. >Тернопольская обл.
<OPTION Value= Харьковская обл. >Харьковская обл.
<OPTION Value= Херсонская обл. >Херсонская обл.
<OPTION Value= Хмельницкая обл. >Хмельницкая обл.
<OPTION Value= Черкасская обл. >Черкасская обл.
<OPTION Value= Черниговская обл. >Черниговская обл.
<OPTION Value= Черновицкая обл. >Черновицкая обл.
</OPTION>
</SELECT>
</td>
</tr>

<tr>
<td>Контактный e-mail</td>
<td><INPUT TYPE=TEXT NAME="e-mail" SIZE="36" MAXLENGTH="36"></td>
</tr>

<table width="750" bgcolor="#E8E8E8">

<tr>
<td width="250" rowspan="10" > Укажите путь к изображению </td>
<td> <input type="file" size="29"> </td>
<td> <input type="file" size="29"> </td>
</tr>

<tr>
<td> <input type="file" size="29"> </td>
<td> <input type="file" size="29"> </td>
</tr>


<table width="750" bgcolor="#E8E8E8">
<tr>
<td>
<left>
<INPUT type=submit value="отправить"></left></td>
</tr>
</table>
</FORM>

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

ИМНО, такой способ отправки не самый хороший. У меня, например, письмо пришло в таком вот виде:

тип операции=Арендовать

Регион=Черновицкая

e-mail=test@test.ru

Не очень то красиво...

Строка "multipart/form-data" в тэге

явно лишняя.

Кстати отправка почеловечески работатет только в IE. В FireFox просто создается письмо в почтовом клиенте. В общем для отправки почты надо пользовать серверный скрипт (php, perl, asp и пр.)

2. У нет атрибутов, ограничивающих длину.

3. "Обязательные поля" можно организовать только с помощью JavaScript (ну или серверного скрипта).

4. Тэга не существует и старайтесь не использовать пробелы и табуляцию для форматирования кода.

Link to comment
Share on other sites

  • 0

большое спасибо за ответ, радует что она вообще работает хоть как-то.

Мно слышу о скриптах, но по неопытности как-то не очень хочется сейчас углубляться, я пожалуй сделаю пока только в виде HTML а потом по ходу буду дорабатывать.

что касается вида в котором пришла форма на ящик, то я примерно такой и предполагал.

на данном этапе подойдет.

А во по повуду браузеров конечно задачка не из легких (для меня во всяком случае).

Так что прошу еще каких либо советов.

Link to comment
Share on other sites

  • 0

Если хостинг поддерживает PHP могу привести код для отправки сообщения. Код элементарнейший, в нем даже разбираться не надо, и так все ясно как божий день.

Если же у тебя какой то другой серверный язык, то поищи код на нем. Там по сути всего одна строка + несколько строк подготовки текста, не сложно совсем.

Link to comment
Share on other sites

  • 0
Если хостинг поддерживает PHP могу привести код для отправки сообщения. Код элементарнейший, в нем даже разбираться не надо

и мне интересно, какой это такой элементарнейший php код, что без траблов отправляет с такой формы? :)

Link to comment
Share on other sites

  • 0

<?php
if ($_SERVER['REQUEST_METHOD']=="POST") { // Если страница перегружена формой (кнопкой "Отправить")
$from = "mail@from.ru"; // от кого письмо
$to = "mail@to.ru"; // кому письмо

// получаем значение сообщения
$message = trim(@$_POST['mod_guestbook_message']);
// заменяем " на "
$message = str_replace(""", """, $message);
// заменяем все спец символы HTML их обозначениями
$message = htmlspecialchars($message);
// добовляем к переводам строки тэга

$message = nl2br($message);
// все тоже самое можно записать и в одну строку:
// $message = nl2br(htmlspecialchars(str_replace(""", """, trim(@$_POST['mod_guestbook_message']))));

$email = trim(@$_POST['mod_guestbook_email']);
$email = htmlspecialchars($email);
// это также можно записать в одну строку:
// $email = htmlspecialchars(trim(@$_POST['mod_guestbook_email']));

// заголовок письма
$subject = "Вопрос от посетителя сайта avestacenter.ru";
// текст сообшения
$message = "<html><head><title>".$subject."</title></head><body>";
$message .="<p><strong>".$subject."</strong></p>";
$message .="<p>Сообщение:"</p>";
$message .="<p>".$message."</p>";
$message .="<p>E-mail:"</p>";
$message .="<p>".$email."</p>";
$message .="</body></html>";
// заголовок письма
$headers = "MIME-Version: 1.0" . "rn";
$headers .= "Content-type: text/html; charset=windows-1251" . "rn";
$headers .= "From: ".$from . "rn";
// непосредственно отправка
mail($to, $subject, $message, $headers);

echo "Ваше сообщение успешно отправлено";
} else {
?>
<form method="post">
<div><label for="mod_guestbook_email">Ваш е-mail</label><input type="Text" name="mod_guestbook_email" id="mod_guestbook_email"></div>
<div><label for="gmod_uestbook_message">Ваш вопрос</label><textarea name="mod_guestbook_message" id="mod_guestbook_message" rows="5"></textarea></div>
<div><input type="Submit" value="Отправить"></div>
</table>
</form>
<?php
}
?>

Пример выдернут из гостевой книги и может быть легко дополнен любым необходимым функционалом.

Код формирует и отсылает письмо в формате HTML.

2Emm

Я не говорил что "с такой формы". Такая форма сама о себе позаботиться :lol:

Нe а то что код действительно элементарный и без траблов отсылает письмо - это да (ну если конечно у хостера админы с прямыми руками).

Link to comment
Share on other sites

  • 0

А я пользуюсь такой формой, обходит фильтра на mail.ru,и легко построить под свои нужды:

<?
$myemail = "admin@vkstoi.ru";
$refreshpage = "http://www.vkstoi.ru/index.htm";
$antispam = "1";
$maxname = "30";
$maxsub = "30";
$maxmes = "210";
$shapka="<html><head><META http-equiv=Content-Type content='text/html; charset=windows-1251'></head><body>";
$back="<center>Вернитесь <a href='java script:history.back(1)'><B>назад</B></a>";
$maxkey=4;


if (!isset($_POST['name'])) {print"$shapka $back Вы не ввели имя!";} else {$name=$_POST['name'];}
if (!isset($_POST['subject'])) {print"$shapka $back Вы не написали тему письма!";} else {$subject=$_POST['subject'];}
if (!isset($_POST['message'])) {print"$shapka $back Вы не написали свое сообщение!";} else {$message=$_POST['message'];}
if ($name=="" || strlen($name)>$maxname) {print "$shapka $back Вы не ввели имя или ввели слишком длиное имя!</B></center>"; exit;}
if ($subject=="" || strlen($subject)>$maxsub) {print "$shapka $back Тема письма или пустая или превышает $maxsub символов.</B></center>"; exit;}
if ($message=="" || strlen($message)>$maxmes) {print "$shapka $back Вы не написали сообщение или оно превышает? $maxmes символов.</B></center>"; exit;}
$name=str_replace("|","|",$name);
$subject=str_replace("|","|",$subject);
$message=str_replace("|","|",$message);
$text="$name|$subject|$message|";
$text=str_replace(" ",' ',$text);
$text=str_replace("&",'&',$text);
$text=str_replace(">",'>',$text);
$text=str_replace("<",'<',$text);
$text=str_replace(""",'"',$text);
$text=preg_replace("/nn/",'<p>',$text);
$text=preg_replace("/n/",'
',$text);
$text=preg_replace("/$/",'$',$text);
$text=preg_replace("/r/",'',$text);
$text=stripslashes($text);
$text=preg_replace("//",'\',$text);
$text=str_replace("rn","
",$text);
$text=str_replace("nn",'<p>',$text);
$text=str_replace("n",'
',$text);
$text=str_replace("t",'',$text);
$text=str_replace("r",'',$text);
$text=str_replace(' ',' ',$text);
$exd=explode("|",$text); $name=$exd[0]; $subject=$exd[1]; $message=$exd[2];
$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $smailurl="http://$host$self";

$date=date("d.m.Y");
$time=date("H:i:s");

$headers=null;
$headers.="Content-Type: text/html; charset=windows-1251rn";
$headers.="From: ".$name." <".$subject.">rn";
$headers.="X-Mailer: PHP/".phpversion()."rn";

$allmsg="<html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<style>BODY {FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 13px;} TD {FONT-SIZE: 12px;}</style></head>
<body><center><h4><font color='#FF9900'>Сообщение от посетителя сайта "<B><a href='$smailurl'><font color='#233C3B'>$smailurl</font></a></B>"</h4>
<table border=1 cellpadding=6 cellspacing=0 width=500 bordercolor='#DBDBDB'>
<tr><td colspan=2 align=center bgcolor='#233C3B'><B><font color='#FF9900'>Информация</font></B></td></tr>
<tr bgcolor='#274549'><td width=117><font color='#FF9900'>Имя:</font></td><td width=433><B><font color='#FF9900'>$name</font></B></td></tr>
<tr bgcolor='#274549'><td><font color='#FF9900'>Тема письма:</font></td><td><B><font color='#FF9900'>$subject</font></B></td></tr>
<tr bgcolor='#274549'><td><font color='#FF9900'>Сообщение:</font></td><td><B><font color='#FF9900'>$message</font></B></td></tr>
<tr bgcolor='#274549'><td><font color='#FF9900'>Дата отправки:</font></td><td><small><font color='#FF9900'>$time</font></small><font color='#FF9900'> - $date .</font></td></tr>
</table><center><BR><font color='#FF9900'>Ваше сообщение </font><B><font color='#233C3B'>успешно отправлено</font></B><BR><BR>";
$printmsg="$allmsg </body></html>";
$allmsg.="<BR><BR><BR>* На это сообщение отвечать не надо</body></html>";
mail("$myemail", "Вызов специалиста.Сообщение от? $name", $allmsg, $headers);
print "$printmsg";
exit;



?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy