Форум » КОМПЬЮТЕРЫ И ФОТО » Кто-нибудь знает как создать почтовую форму отправки для сайта. » Ответить

Кто-нибудь знает как создать почтовую форму отправки для сайта.

ronyacat: Уже который день ломаю голову над созданием почтовой формы отправки на моем сайте, вроде и форму сделала и php страницу написала, а форма не работает, может кто что понимает в этой форме, как никак на этом форуме тоже вовсю она используется... напишите кто чего знает, если надо я приведу примеры того что я соорудила, может кто ошибки чайнику подскажет ...буду очень очень благодарна

Ответов - 18

Игорь Будыльский: Почтовая форма отправки делается так (объясню на примере): <A HREF="mailto:support@live.ru">Cлужба технической поддержки</A> При этом при клике по гиперссылке почтовой программой, установленой по умолчанию в операционной системе конкретного обозревателя сайта, откроется окно для сообщения по электроной почте для адресата support@live.ru. Или имелось ввиду что-то другое? Если другое, подскажи что именно нужно, помогу и с этим.

ronyacat: Игорь Будыльский эта форма у меня работает, но вот хотелось бы сделать вот такую, как сейчас в контактах на моем сайте. в html она выглядит так. (это кусок из страницы с самой формой ) <body> <form action="php_1.php"><table align=center> <input type=hidden name="recipient" value="ronyacat@yahoo.com"> <input type=hidden name="subject" value="Запрос информации"> Ваше Имя: <br> <input type="text"name="name" style="border:1px solid#000000;background-color:#ffffff" size="25" maxlength="255" name="name"><br><br> Ваш E-mail: &nbsp; <br /> <input type="text"name="e-mail" style="border:1px solid#000000;background-color:#ffffff" size="25" maxlength="255" name="E-mail"><br> &nbsp; <br /><br> Ваше Сообщение: <br> <textarea name="Your text" name="message" cols="51"rows="10" style="border:1px solid#000000;background-color:#ffffff" ></textarea><br><br> <br/> <br/> <input type=submit value="Отправить" style="border:1px solid#000000;background-color:#ffffff" > <input type=reset value="Удалить" style="border:1px solid#000000;background-color:#ffffff" > </form> </body> </html> а это управляющая php страница, так кажется называется, в общем страница которая обрабатывает эту самую почтовую форму. <?php if () { $subject="form from RONYACAT.COM"; $ip=$_SERVER["REMOTE_ADDR"]; $host=$ip; $mon=date(m); $day=date(j); $year=date(y); $hour=date(g); $min=date(i); $sec=date(s); $hour=$hour+3; if($hour<=0){$hour+=12;} $ts="$hour:$min:$sec on $day/$mon/$year"; $to="ronyacat@yahoo.com"; $body=" Name=$name e-mail=$e-mail message=$message Host$host time:$ts"; $email="от:форма|<$to>"; mail($to,$subject;$body;$email); ?> <html> <head> <title>Отправка письма</title> </head> <body bgcolor="#000000"text="#ffffff"> <center> Table boder="1" cellpadding="3" cellspacing="0" width="400"bodercolor="#000000" bgcolor="#ffffff"> <tr> <td width="100%"> <p><center><b><fontcolor="#000000">E-mail Успешно отправлен:<?php echo $to?></font></b></center> </td> </tr> </table> </body> </html> <?php }else{ ?> <html> <head> <title>Контактный Е-mail неверен</title> </head> <body bgcolor="#000000"text="#ffffff"> <p><center> Table boder="1" cellpadding="3" cellspacing="0" width="400"bodercolor="#000000" bgcolor="#ffffff"> <tr> <td width="100%"> <center> <b>Ошибки в процессе отправки e-mail.</b></br> <p> <font color="#ff0000">Наличие ошибок:</font></br> <?php ?> <p> E-mail не отправлен </td> </tr> </table> </body> </html> <?php } ?> на коды цветов не смотри, я их все равно менять буду . Вот эта страница которая обрабатывать должна и не работает. Зайди на мой сайт и попробуй чего-нибудь отправить используя эту форму и увидишь что выходит ошибка...а как ее исправить я не знаю, может я вообще ошибок много наделала и они все суммарно не работают...

Игорь Будыльский: Даша, я дома посмотрю. Единственное, мне не очень понятно зачем там усложнять всё через php, но если это принципиально, пусть остаётся.


Игорь Будыльский: Посмотрел форму в контактах, там всё делается без php практически в четыре строчки. Вечером постараюсь прислать тебе готовое решение. Вообще хочу дать совет: в web-программировании старайся как можно реже усложнять программный код. Практически любую задачу можно решить разными путями. Самый простой - самый лучший.

ronyacat: Игорь Будыльский php не принципиально, для меня главное что бы форма с окошками работала и не через программу типа outlook. просто я смогла найти примеры такой формы с окошками только через php. но конечно же хотелось разобраться как эта самая php работает столько времени потратила на нее, интересно уже в чем причина... Спасибо за помощь

Nefertary: Точки с запятыми везде стоят?

Nefertary: ronyacat пишет: $body=" Name=$name e-mail=$e-mail message=$message Host$host time:$ts"; Вот в этом куске че-то не так

Nefertary: Попробуй отладить самый тупой случай: <?php $to = "recipient@example.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } ?>

Nefertary: ronyacat пишет: if () вот здесь тоже непонятно, на что условие идет

ronyacat: Nefertary Спасибо, сайчас попробую.

Nefertary: Развесистый пример полностью <font face="verdana" size="1"> <form method="post" action="contact.php"> Your Name:<br> <input type="text" name="name" style="border: 1px solid #cccccc; background-color: #ffffff;" size="26"><br><br> Your E-mail Address:<br> <input type="text" name="email" style="border: 1px solid #cccccc; background-color: #ffffff;" size="26"><br><br> Subject:<br> <input type="text" name="subject" style="border: 1px solid #cccccc; background-color: #ffffff;" size="48"><br><br> Message:<br> <textarea name="message" cols="40" rows="10" style="border: 1px solid #cccccc; background-color: #ffffff;"> <?php if ($_POST['name'] != "" && $_POST['email'] && $_POST['subject'] && $_POST['message']) { $name=$_POST['name']; $email=$_POST['email']; $subject1=$_POST['subject']; $message=$_POST['message']; $ip=$_SERVER["REMOTE_ADDR"]; $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); $host = $ip.".".$host; $mon=date(m); $day=date(j); $year=date(y); $hour=date(g); $min=date(i); $sec=date(s); $hour=$hour-2; if($hour<=0) { $hour+=12; } $ts = "$hour:$min:$sec on $day/$mon/$year"; $to="youremail@address.com"; $subject="[webform]"." $subject1"; $body=" Message from: $name Subject: $subject1 E-mail: $email Message: $message Host: $host Time: $ts"; $email = "From: $name <$email>"; mail($to, $subject, $body, $email); ?> <html> <head> <title>Email Sent</title> </head> <body bgcolor="#ffffff" text="#666666"> <p> </p> <center> <table border="1" cellpadding="3" cellspacing="0" width="400" bordercolor="#919191" bgcolor="#E6E6E6"> <tr> <td width="100%"> <p><center><b><font color="#000000">Email was sucesfully sent to: <?php echo $to ?></font></b></center><p> <b>Subject:</b> <?php echo $subject1 ?><br> <b>From:</b> <?php echo $_POST['email']; ?> <br> <b>Message:</b> <br> <?php echo $message ?> </td> </tr> </table> </body> </html> <?php } else { ?> <html> <head> <title>Contact email error</title> </head> <body bgcolor="#ffffff" text="#666666"> <p> <table border="1" cellpadding="3" cellspacing="0" width="400" bordercolor="#919191" bgcolor="#E6E6E6"> <tr> <td width="100%"> <center> <b>There was an error with processing the email.</b><br> <p> <font color="#FF0000">Errors where:</font><br> <?php If ($name = "") echo "Name feild is empty<br>"; If ($email == "") echo "Email feild is empty<br>"; if ($subject1 == "") echo "Subject feild is empty<br>"; if ($message == "") echo "Message feild is empty<br>"; ?> <p> Email message wasn't sent </td> </tr> </table> </body> </html> <?php } ?>

ronyacat: Самый тупой случай действует! попозже попытаюсь прописать все остальное... Спасибо! Если опять чего напутаю напишу, надеюсь не надоем, чайник я все таки

ronyacat: Вроде отправилось!!!!! должно дойти. Пишет, письмо отправлено успешно...жду когда дойдет Nefertary Большое спасибо!

ronyacat: Все дошло отлично!!!!!!!Здорово!!!!!!!!! спасибо!!!!!!!!!!!!!!!! Может это слишком, но можно ли как то сделать что бы можно было прикрепить к письму фотографию из компьютера отправляющего? ну как на радикале...

Игорь Будыльский: Ага, похоже проблема благополучно решилась. Насчёт фотографии надо подумать. Это точно сделать можно (типичный пример - анкета резюме соискателя вакансий), вопрос в том, как это сделать лучше.

Nefertary: Пример формы отсылки письма с вложениями Статья на английском

Nefertary: Толко я бы ограничила типы файлов графическими. Иначе есть шанс заполучить вирус

ueadp: Тема переехала на новый форум



полная версия страницы