Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Perl, PHP: отправка формы на e-mail

Автор: Borodino
Дата сообщения: 03.12.2006 09:21
sTa1kEr
Cheery
спасибо за помощь!!!

вот рабочий код который позволяет отправлять в любой кодировке.
я был бы очень рад если бы ктонибудь мне помог его дополнить с приклейкой файла(Attachments).
Файл должен быть сохранён в UTF-8.


Код: <?PHP
$FromName = "Брейль Андрюха";
$FromEmail = "breil-an@mail.ru";
$ToName = "Брейль Андрей";
$ToEmail = "pite20@gmx.de";
$Subject = "PHP ist toll Хорошо";
$Message = "Hallo Claudia! Хорошо";
$Charset = "UTF-8";

//mb_language("Ru"); // optional
mb_internal_encoding($Charset);
$From = mb_encode_mimeheader($FromName) . " <" . $FromEmail . ">";
$To = mb_encode_mimeheader($ToName) . " <" . $ToEmail . ">";
$Headers = "From: " . $From . "\r\n";
$Headers .= "Content-Type: text/html;\r\n";
mb_send_mail($To, $Subject, $Message, $Headers);
?>
Автор: Cheery
Дата сообщения: 03.12.2006 20:27
Borodino

Цитата:
Файл должен быть сохранён в UTF-8

берешь стандартный код для аттачмента. там посылается binary код, поэтому абсолютно пофигу в какой кодировке он написан.
Автор: Borodino
Дата сообщения: 04.12.2006 15:10
вот нашел PHP mail with attachment. но проблема в том что отосланый и пришедший файлы различны по размеру, а это для бинарных файлов опасно.

что нужно в нижестоящем коде изменить чтобы отосланый и пришедший файлы были бы одинаковыми ?


Код: <?PHP
if($senden){
$from = "breil-an@mail.ru";
$to = "pite20@gmx.de";
$subject = "testmail";
$message = "Name: ".$name."\nBeruf: ".$beruf."\nText: ".$text;
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:Test <$from>\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nMultipart Nachricht";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/html";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message";
$file_content = fread(fopen($userfile,"r"),filesize($userfile));
$file_content = chunk_split(base64_encode($file_content));
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: $userfile_type; name=\"$userfile_name\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"$userfile_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail($to,$subject,$message,$mail_header);
}
?>

<html>
<body>
<form method="post" action="mail6.php" enctype="multipart/form-data">
<table border=0 cellpadding=0 cellspacing=0 width="100%">
<tr>
<td>Name:</td>
<td><input type="text" name="name" size=30" /></td>
</tr>
<tr>
<td>Beruf:</td>
<td><input type="text" name="beruf" size=30" /></td>
</tr>
<tr>
<td>Text:</td>
<td><textarea cols=20 rows=5 name="text"></textarea></td>
</tr>
<tr>
<td>Foto:</td>
<td><input type="file" name="userfile" size=30" /></td>
</tr>
<tr>
<td colspan=2><input type="submit" name="senden" value="senden" /></td>
</tr>
</table>
</form>
</body>
</html>
Автор: Cheery
Дата сообщения: 04.12.2006 20:32
Borodino
Бинарный аттачмент к письму в скрипте
Автор: Georgy1
Дата сообщения: 08.12.2006 12:13
Уважаемые знатоки языка Perl! Помогите чайнику создать страничку с контактной формой (отправка писем со странички). Я имею такой скрипт(email.cgi):

#!/usr/bin/perl

# required hidden fields:
# recipient - your e-mail address
# subject - subject of the message
# redirect - url to load when form is submitted

# use name="email" for e-mail address field

# Check path to your e-mail program and change path if it is different
# from below
$mailprog = '/usr/sbin/sendmail';


$date=`date +%D`;
$date=~s/\n$//;

$formdata=<STDIN>;
$formdata=~s/\s+$//;

foreach (split(/&/, $formdata))
{
($name, $value)=split(/=/, $_);
$name=~s/\+/ /g;
$name=~s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
$value=~s/\+/ /g;
$value=~s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;

# if ($value eq "")
    #{
    #&exit($name);
    #}

if ($name ne "recipient" && $name ne "subject" && $name ne "redirect")
    {
    push (@print, $name)
    }
    

$data{$name}=$value;
}
if ($data{'email'} ne "" && $data{'email'} !~ /^[\w\.-]+@[\w\.-]+$/)
    {
    print "Content-type: text/html\n\n";
    print "<html><head></head><body bgcolor=\"ffffff\">";
    print "Пожалуйста введите правильный e-mail адрес.";
    exit;
    }


open(MAIL, "|$mailprog -t") || die "Can't open $mailprog!\n";
print MAIL "To: $data{'recipient'}\n";
print MAIL "From: $data{'email'}\n";

#print MAIL "Cc: $data{'email'}\n";

if ($data{'subject'})
{
print MAIL "Subject: $data{'subject'}\n\n";
}

else {
print MAIL "Subject: WWW Form Submission\n\n";
}

foreach (@print)
    {
    print MAIL "$_: $data{$_}\n";
    }


close MAIL;

print "Location: $data{'redirect'}\n\n";

sub exit
{
local ($name)=@_;
print "Content-type: text/html\n\n";
print "<html><head></head><body bgcolor=\"ffffff\">";
print "Your must fill in <b>$name</b> to process this form.";
print " Please return back and do it. Thank you.";
print "</body></html>";
exit;
}

и такая форма:

<html>
<head>
<title>Контакт</title>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>&nbsp;<table class="namo-sublist" border="0" width="750"><tr> <td width="625" valign="top">
<form name="contactus" method="post" action="cgi-bin\email.cgi"
enctype="text/plain"><table width="445" align="center"><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>От :</b></font></td><td width="311" align="left"><p><font size="2" face="Century Gothic"><input
type="text" name="name">(Имя отправителя)</font></td></tr><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>E-Mail :</b></font></td><td width="311"><p><font size="2" face="Century Gothic"><input type="text"
name="email">(Ваш E-Mail адрес)</font></td></tr><tr><td width="130" align="right"><p><font size="2" face="Century Gothic"><b>Тема
:</b></font></td><td width="311" align="left"><p><font size="2" face="Century Gothic"><input
type="text" name="subject" style="text-align:center;"></font></td></tr><tr><td width="130" align="right" valign="top" rowspan="2"><p><font size="2" face="Century Gothic"><b>Сообщение :</b></font></td><td width="311"><font size="2" face="Century Gothic"><textarea name="message"
rows="5" cols="35"></textarea></font></td></tr><tr><td width="311" align="left"><p><font size="2" face="Century Gothic"><input type="submit" value="Послать"><input type="reset" value="Очистить"></font></td></tr></table></form></td>
</tr></table></p>
</body>
</html>

Требуется совместить скрипт с формой (отредактировать и то и другое), чтобы все работало и дать небольшую инструкцию ( можно на мыло: niktih@mail.ru )!
Очень надеюсь на вашу поддержку.
Спасибо.
Автор: Baby9696
Дата сообщения: 29.01.2007 18:09
Привет, подскажите как мне изменить скрипт, чтобы все заполненные поля отправлялись на е-мейл? вот сцылка на страницу, куды надо: http://www.limuzinkazan.ru/search.php?id_marka=18 ну это чтоб наглядно было видно

имеются файлы:
в корневике: search.php и feed_forms.php
а так же:
tpl/view/templates/search.tpl
tpl/view/templates/mail_to_zapros.tpl
tpl/view/templates/feed_forms.tpl

дайте мне мыло того, кто реально в этом шарит, тут не буду столько выкидывать, или стукните мне плиз в аську 226221596
Заранее Спасиб
Автор: Cheery
Дата сообщения: 29.01.2007 18:35
Georgy1
смотрим примеры выше, чтобы понять, как передаются переменные из формы в перл и прописываем их там, где нужно в скрипте.

Baby9696

Цитата:
подскажите как мне изменить скрипт

примеры выше


Цитата:
дайте мне мыло того, кто реально в этом шарит, тут не буду столько выкидывать, или стукните мне плиз в аську 226221596

я очень сомневаюсь, что это кто то будет делать
Автор: Baby9696
Дата сообщения: 29.01.2007 22:55

Цитата:
я очень сомневаюсь, что это кто то будет делать


тогда я выложу тут...
Помогите доработать скрипт на php,чтобы отправлялась заполненная форма




Код:
{*Smarty*}
{*Шаблон страницы поиска*}
{fetch file='inc/top.php'}

{include file='_navbar_public.tpl'}
<h4>Поиск</h4>
<p>
<form method = 'GET' action = "search_result.php" enctype="multipart/form-data">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head><body bgcolor="441B23" text="#CCCC33"><table width=90% border="0">
<tr>
<td nowrap><b>Марка:</b>
<input type="hidden" name = 'id_marka' value = {$id_marka} /></td><td>{$name_marka}</td>

<td nowrap><b> Модель: </b></td>
<td>
{html_options options=$models_list name="model_id" selected=0}        
</td>
</tr>
<tr>
<td nowrap></td>
<td></td>


<td nowrap><b> Цвет: </b></td>
<td>
{html_options options=$color name="color_id" selected=0}    </td>
</tr>

<tr>
<td nowrap><b> Год вып.: </b></td>
<td>
{html_options options=$arr_year name="year_key" selected=0}    
</td>

<td nowrap><b> Тип кузова: </b></td>
<td>
{html_options options=$typ_kuzov name="kuzov" selected=0}    
</td>
</tr>

<tr>
<td nowrap><b> Цена: </b></td>
<td><input size="8" style="width:35;" maxlength="11" name="price_ot" type="text" /> -
<input size="8" style="width:35;" maxlength="11" name="price_do" type="text" /> &nbsp; USD
</td>

<td nowrap><b> Тип двигателя: </b></td>
<td>
{html_options options=$typ_dvig name="tip_motor" selected=0}    
</td>
</tr>

<tr>
<td nowrap><b> Пробег: </b></td>
<td><input size="8" style="width:70;" maxlength="6" name="probeg_ot" type="text" /> - <input size="8" style="width:70;" maxlength="6" name="probeg_do" type="text" /> &nbsp; км
</td>

<td nowrap><b> Привод: </b></td>
<td>
{html_options options=$privod name="privod" selected=0}    
</td>
</tr>
<tr>
<td nowrap><b> Объем двиг. (см<FONT SIZE=-1><SUP>3</SUP></FONT>): </b></td>
<td><input size="8" style="width:70;" maxlength="6" name="v_motor_ot" type="text" /> - <input size="8" style="width:70;" maxlength="6" name="v_motor_do" type="text" /></td>

<td nowrap><b> КПП: </b></td>
<td>
{html_options options=$kpp name="kpp" selected=0}    
</td>
</tr>
<tr>
<td nowrap><b> Состояние: </b></td>
<td>
{html_options options=$sost name="sost" selected=0}    
</td>
<td nowrap><b> Руль: </b></td>
<td>
{html_options options=$rul name="rul" selected=0}    
</td>
</tr>
<tr>
<td nowrap><b> Торг: </b></td>
<td>
{html_options options=$torg name="torg" selected=0}    
</td>


<td nowrap><b> Таможня: </b></td>
<td>
{html_options options=$tamog name="tamog" selected=0}    
</td>
</tr>
</table>

<p>
<table class="list_dop" style="width: 50%" >
<tr valign="top">
<td nowrap><b>Наличие фото: </b></td>
<td><select style="width:150;" name="photo_yes">
<option value=""></option>
<option value="1">обязательно</option></select></td>
</tr><tr>
<td nowrap><b>Период: </b></td>
<td>
<select style="width:150;" name="stime">
<option value="0">все время</option>
<option value="1">сегодня</option>
<option value="2">2 дня</option>
<option value="3">3 дня</option>
<option value="4">4 дня</option>
<option value="7">неделю</option>
<option value="14">2 недели</option>
<option value="21">3 недели</option>
<option value="30">месяц</option>
</select>
</td></tr>
<tr valign="top">
<td nowrap><b>Сортировать: </b></td>
<td><select style="width:150;" name="sort">
<option value="0"></option>
<option value="2">по модели</option>
<option value="1" selected = "selected">по цене</option>
<option value="5">по году вып.</option>
<option value="9">по пробегу</option></select>
</td></tr>
</table>


<p><b>Обязательно наличие:</b>
{html_table loop=$list_dop table_attr='border="0" align="center" width=90%' cols=3}



</td></tr></table>


<p align = "center"><input type="submit" name = "search" value = "Искать!" style="width:250;" />

</form>

</body>

Автор: Cheery
Дата сообщения: 29.01.2007 23:04
Baby9696

Цитата:
не помогает

догадайся почему.. отсылаются только те данные, что попали между <form> и </form>
постишь на скрипт с вот таким, к примеру, кодом
Perl, PHP: отправка формы на e-mail
Автор: Romano
Дата сообщения: 27.02.2007 11:26
а есть готовый скрипт с защитой от спама?
т.е. форма отправки на емейл с защитной картинкой.


Автор: SStudio
Дата сообщения: 08.03.2007 20:25
Очень непонятно????
Вот простейшая форма

<FORM NAME="mailer" METHOD="post" ACTION="">
<INPUT TYPE="text" NAME="Email" size="24">
<INPUT TYPE="text" NAME="Name" size="24">
<TEXTAREA NAME="Message" COLS="30" ROWS="5">
<INPUT TYPE = "submit" VALUE = "Отправить Сообщение">
</FORM>

Обьясните на пальцах как прикрутить к ней этот PHP.
Автор: Cheery
Дата сообщения: 08.03.2007 20:55
SStudio

Цитата:
Очень непонятно????

это ты нас спрашиваешь?


Цитата:
Обьясните на пальцах как прикрутить к ней этот PHP

а всмотреться не пробовал?
данные будут в массиве $_POST

Код: <?PHP
$ToEmail = "имя <мыло>";
$Subject = "PHP ist toll Хорошо";
$Message = $_POST['Email'].':'.$_POST['Name'].':'.$_POST['Message'];
$Headers = "From: имя<мыло>\n";
$Headers .= "Content-Type: text/html;\n";
$Headers .="Content-Transfer-Encoding: 8bit\n";
mail($ToEmail, $Subject, $Message, $Headers);
?>
Автор: Qwezar
Дата сообщения: 16.03.2007 16:12
Скажите, а функция mail() с денвера не работает?
Автор: Cheery
Дата сообщения: 16.03.2007 16:18
Qwezar

Цитата:
Скажите, а функция mail() с денвера не работает?

а при чем тут функция? если нет почтовика локально, то отсылать ничего не будет
Автор: ShafMAN
Дата сообщения: 19.03.2007 09:13
Qwezar
http://faq.dklab.ru/denwer/#h30-27
Автор: Grendle
Дата сообщения: 02.04.2007 12:39
Блин. Всё равно не понимаю как отправить. Я сейчас сойду с ума!!!
Как сделать самую простую форму без проверок на данные и особенно без всяких "Спасибо блаблабла"?!
Помогите пожалуйста!
Автор: IFKey
Дата сообщения: 02.04.2007 14:35

Цитата:
Скажите, а функция mail() с денвера не работает?

Денвер кидает все письма сюда: WebServers\tmp\!sendmail\
Автор: Cheery
Дата сообщения: 02.04.2007 18:43
Grendle

Цитата:
Как сделать самую простую форму без проверок на данные и особенно без всяких "Спасибо блаблабла"?!
Помогите пожалуйста

посмотреть первые посты.. там все есть
Автор: CL
Дата сообщения: 09.04.2007 22:28
Помогите пожалуста с PHP кодом, штобы отправить данную форму на e-mail:


[more]<form method="post" action="http://. e-mail: ru ">
<font face="Arial" size="-1"><LEFT><b>Укажите номер букета: <br>
<input size="30" value="Букет №54" name="buket0"><br>
Изменить кол-во цветов (чем больше, тем ниже цена <br>
<input size="5" value="51" name="kolvo0"><br>
Ваше имя<br>
<input size="30" name="name0"><br>
Телефон для подтверждения заказа<br>
<input size="30" name="tel0"><br>
<br>
Метроближайшая станция)<br>
<select name="metro0">
<option value="Выбрать" selected>Выбрать</option>
<option value="Авиамоторная">Авиамоторная</option>
<option value="Автозаводская">Автозаводская</option>
<option value="Академическая">Академическая</option>
<option value="Александровский сад">Александровский сад</option>
<option value="Алексеевская">Алексеевская</option>
<option value="Алтуфьево">Алтуфьево</option>
<option value="Аннино">Аннино</option>
<option value="Арбатская Арбатско-Покровская">Арбатская Арбатско-Покровская</option>
<option value="Арбатская Филевская">Арбатская Филевская</option>
<option value="Аэропорт">Аэропорт</option>
<option value="Бабушкинская&gt;Бабушкинская&lt;/option&gt;
&lt;option value=" Багратионовская>Багратионовская</option>
<option value="Баррикадная">Баррикадная</option>
<option value="Бауманская">Бауманская</option>
<option value="Беговая">Беговая</option>
<option value="Белорусская Замоскворецкая">Белорусская Замоскворецкая</option>
<option value="Белорусская Кольцевая">Белорусская Кольцевая</option>
<option value="Беляево">Беляево</option>
<option value="Бибирево">Бибирево</option>
<option value="Библиотека им. Ленина">Библиотека им. Ленина</option>
<option value="Битцевский парк">Битцевский парк</option>
<option value="Боровицкая">Боровицкая</option>
<option value="Ботанический сад">Ботанический сад</option>
<option value="Братиславская">Братиславская</option>
<option value="Бульвар адмирала Ушакова">Бульвар адмирала Ушакова</option>
<option value="Бульвар Дмитрия Донского">Бульвар Дмитрия Донского</option>
<option value="Бунинская аллея">Бунинская аллея</option>
<option value="Варшавская">Варшавская</option>
<option value="ВДНХ">ВДНХ</option>
<option value="Владыкино">Владыкино</option>
<option value="Водный стадион">Водный стадион</option>
<option value="Войковская">Войковская</option>
<option value="Волгоградский проспект">Волгоградский проспект</option>
<option value="Волжская">Волжская</option>
<option value="Воробьевы горы">Воробьевы горы</option>
<option value="Выхино">Выхино</option>
<option value="Динамо&gt;Динамо&lt;/option&gt;
&lt;option value=" Дмитровская>Дмитровская</option>
<option value="Добрынинская">Добрынинская</option>
<option value="Домодедовская">Домодедовская</option>
<option value="Дубровка">Дубровка</option>
<option value="Измайловская&gt;Измайловская&lt;/option&gt;
&lt;option value=" парк? Измайловский>Измайловский парк</option>
<option value="Калужская">Калужская</option>
<option value="Кантемировская">Кантемировская</option>
<option value="Каховская">Каховская</option>
<option value="Каширская">Каширская</option>
<option value="Киевская Арбатско-Покровская">Киевская Арбатско-Покровская</option>
<option value="Киевская Кольцевая">Киевская Кольцевая</option>
<option value="Киевская Филевская">Киевская Филевская</option>
<option value="Китай-город Калужско-Рижская">Китай-город Калужско-Рижская</option>
<option value="Китай-город Таганско-Кранопресненская">Китай-город Таганско-Кранопресненская</option>
<option value="Кожуховская">Кожуховская</option>
<option value="Коломенская">Коломенская</option>
<option value="Комсомольская Кольцевая">Комсомольская Кольцевая</option>
<option value="Комсомольская Сокольническая">Комсомольская Сокольническая</option>
<option value="Коньково">Коньково</option>
<option value="Красногвардейская">Красногвардейская</option>
<option value="Краснопресненская">Краснопресненская</option>
<option value="Красносельская">Красносельская</option>
<option value="Красные ворота">Красные ворота</option>
<option value="Крестьянская застава">Крестьянская застава</option>
<option value="Кропоткинская">Кропоткинская</option>
<option value="Крылатское">Крылатское</option>
<option value="Кузнецкий мост">Кузнецкий мост</option>
<option value="Кузьминки">Кузьминки</option>
<option value="Кунцевская">Кунцевская</option>
<option value="Курская Арбатско-Покровская">Курская Арбатско-Покровская</option>
<option value="Курская Кольцевая">Курская Кольцевая</option>
<option value="Кутузовская">Кутузовская</option>
<option value="Ленинский проспект">Ленинский проспект</option>
<option value="Лубянка">Лубянка</option>
<option value="Люблино">Люблино</option>
<option value="Марксистская">Марксистская</option>
<option value="Марьино">Марьино</option>
<option value="Маяковская">Маяковская</option>
<option value="Медведково">Медведково</option>
<option value="Менделеевская">Менделеевская</option>
<option value="Молодежная">Молодежная</option>
<option value="Нагатинская">Нагатинская</option>
<option value="Нагорная">Нагорная</option>
<option value="Нахимовский проспект">Нахимовский проспект</option>
<option value="Новогиреево">Новогиреево</option>
<option value="Новокузнецкая">Новокузнецкая</option>
<option value="Новослободская">Новослободская</option>
<option value="Новые черемушки">Новые черемушки</option>
<option value="Октябрьская Калужско-Рижская">Октябрьская Калужско-Рижская</option>
<option value="Октябрьская Кольцевая">Октябрьская Кольцевая</option>
<option value="Октябрьское поле">Октябрьское поле</option>
<option value="Орехово">Орехово</option>
<option value="Отрадное">Отрадное</option>
<option value="Охотный ряд">Охотный ряд</option>
<option value="Павелецкая Замоскворецкая">Павелецкая Замоскворецкая</option>
<option value="Павелецкая Кольцевая">Павелецкая Кольцевая</option>
<option value="Парк Культуры Кольцевая">Парк Культуры Кольцевая</option>
<option value="Парк Культуры Сокольническая">Парк Культуры Сокольническая</option>
<option value="Парк Победы">Парк Победы</option>
<option value="Первомайская">Первомайская</option>
<option value="Перово">Перово</option>
<option value="Петровско-Разумовская">Петровско-Разумовская</option>
<option value="Печатники">Печатники</option>
<option value="Пионерская">Пионерская</option>
<option value="Планерная">Планерная</option>
<option value="Площадь Ильича">Площадь Ильича</option>
<option value="Площадь Революции">Площадь Революции</option>
<option value="Полежаевская">Полежаевская</option>
<option value="Полянка">Полянка</option>
<option value="Пражская">Пражская</option>
<option value="Преображенская площадь">Преображенская площадь</option>
<option value="Пролетарская">Пролетарская</option>
<option value="Проспект Вернадского">Проспект Вернадского</option>
<option value="Проспект Мира Калужско-Рижская">Проспект Мира Калужско-Рижская</option>
<option value="Проспект Мира Кольцевая">Проспект Мира Кольцевая</option>
<option value="Профсоюзная">Профсоюзная</option>
<option value="Пушкинская">Пушкинская</option>
<option value="Речной вокзал">Речной вокзал</option>
<option value="Рижска">Рижская</option>
<option value="Римская">Римская</option>
<option value="Рязанский проспект">Рязанский проспект</option>
<option value="Савеловская">Савеловская</option>
<option value="Свиблово">Свиблово</option>
<option value="Севастопольская">Севастопольская</option>
<option value="Семеновская">Семеновская</option>
<option value="Серпуховская">Серпуховская</option>
<option value="Смоленская Арбатско-Покровская">Смоленская Арбатско-Покровская</option>
<option value="Смоленская Филевская">Смоленская Филевская</option>
<option value="Сокол">Сокол</option>
<option value="Сокольники">Сокольники</option>
<option value="Спортивная">Спортивная</option>
<option value="Студенческая">Студенческая</option>
<option value="Сухаревская">Сухаревская</option>
<option value="Сходненская">Сходненская</option>
<option value="Таганская Кольцевая">Таганская Кольцевая</option>
<option value="Таганская Таганско-Кранопресненская">Таганская Таганско-Кранопресненская</option>
<option value="Тверская">Тверская</option>
<option value="Театральная">Театральная</option>
<option value="Текстильщики">Текстильщики</option>
<option value="Теплый стан">Теплый стан</option>
<option value="Тимирязевская">Тимирязевская</option>
<option value="Третьяковская Калининская">Третьяковская Калининская</option>
<option value="Третьяковская Калужско-Рижская">Третьяковская Калужско-Рижская</option>
<option value="Тульская">Тульская</option>
<option value="Тургеневская">Тургеневская</option>
<option value="Тушинская">Тушинская</option>
<option value="Улица 1905 года">Улица 1905 года</option>
<option value="Улица академика Янгеля">Улица академика Янгеля</option>
<option value="Улица Горчакова">Улица Горчакова</option>
<option value="Улица Подбельского">Улица Подбельского</option>
<option value="Улица Скобелевская">Улица Скобелевская</option>
<option value="Улица Старокачаловская">Улица Старокачаловская</option>
<option value="Университет">Университет</option>
<option value="Филевский парк">Филевский парк</option>
<option value="Фили">Фили</option>
<option value="Фрунзенская">Фрунзенская</option>
<option value="Царицыно">Царицыно</option>
<option value="Цветной бульвар">Цветной бульвар</option>
<option value="Черкизовская">Черкизовская</option>
<option value="Чертановская">Чертановская</option>
<option value="Чеховская">Чеховская</option>
<option value="Чистые пруды">Чистые пруды</option>
<option value="Чкаловская">Чкаловская</option>
<option value="Шаболовская">Шаболовская</option>
<option value="Шоссе Энтузиастов">Шоссе Энтузиастов</option>
<option value="Щелковская">Щелковская</option>
<option value="Щукинская">Щукинская</option>
<option value="Электрозаводская">Электрозаводская</option>
<option value="Юго-Западная">Юго-Западная</option>
<option value="Южна">Южная</option>
</select><br>
<LEFT<B>Адрес доставки<br>
<textarea name="adress0" rows="5" cols="50"></textarea><br>
Желаемые дата и время доставки<br>
<input size="50" name="time0"><br>
Ваш e-mail (для информирования Вас о скидках и акциях)<br>
<input size="30" name="email0"><br>
Ваши дополнительные пожелания<br>
<textarea name="notes0" rows="5" cols="50"></textarea><br>
&nbsp;<p>
<input type="submit" value="Отправить заказ"> </p>[/more]
Автор: Cheery
Дата сообщения: 09.04.2007 22:35
CL
а что, примеры выше посмотреть сложно? они же явным образом написаны..
Автор: CL
Дата сообщения: 11.04.2007 02:15
я просто плохо понимаю в PHP кодах ,а хотелось бы
отправить данную форму на e-mail. Конкретно с данными полями.
Автор: SCUPER
Дата сообщения: 15.04.2007 04:57
Люди помогите я дубовый в етом деле
подскажите как и что в каких расширениях (длл, хтмл
надо все для формы с таким вот содержанием

наименование меню
количество текст
цвет меню



ну идалее я сам думаю разберусь
заранее благодарен
Автор: Cheery
Дата сообщения: 15.04.2007 04:58
SCUPER

Цитата:
подскажите как и что в каких расширениях (длл, хтмл
надо все для формы с таким вот содержанием

читаем топик с самого начала.. все приведено. и dll тут совсем не при чем.
Автор: galym74
Дата сообщения: 25.04.2007 06:27
Cheery
Извини что задавал вопросы не по тему. Просто у меня в опере все темы, касающися отправки сообщении на почту, были открыты и когда отправлял сообщения не заметил тему. На сайте был установлен почтовый скрипт PHPSendMail v2.1.2. После смены хостинга скрипт перестал работать. Оказывается на новом хостинге не разрешено функция imap_binary который использует этот скрипт. Я в этом деле новичок. Не знаю особенности пхп. Но мне нужно поскарее запустит эту форму. Выкладываю файлы и ссылку на форму.
index.php

Код: <?php
# В данном файле ничего менять не нужно, однако если у вас есть трудности с возвратом на указанную
# в настройках страницу, то отредактируйте строку 100 как указано в коментарии.
error_reporting(0);
require("./config.inc");
require("./header.inc");
# Функции
function formtohtml ($str) {
if (get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
$str = trim($str);
$str = htmlspecialchars ($str, ENT_QUOTES);
$str = str_replace("|", "/", $str);
$str = str_replace("\r", "", $str);
$str = str_replace("\n", "<br>", $str);
$str = eregi_replace("(<br>*){2,}","<br><br>",$str);
$str = eregi_replace("[ ]{2,}", " ", $str);
return $str;
}
function htmltoform ($str) {
$str = str_replace("&amp;", "&", $str);
$str = str_replace("&quot;", "\"", $str);
$str = str_replace("&#039;", "'", $str);
$str = str_replace("&lt;", "<", $str);
$str = str_replace("&gt;", ">", $str);
$str = str_replace("<br>", "\r\n", $str);
return $str;
}
# Отправка
if (!empty($_GET['a']) and $_GET['a'] == "m") {
$var['fields'] = array("name"=>"имя", "email"=>"e-mail", "subject"=>"заголовок", "message"=>"текст сообщения");
$notice['error'] = array();
foreach ($var['fields'] as $key => $value) {
if (empty($_POST[$key]) || (($_POST[$key] = formtohtml($_POST[$key])) == "0")) $notice['error'][] = $value;
}
if (empty($notice['error'])) {
if (preg_match("/^([a-z,0-9,_,\-,\.])+\@([a-z,0-9,_,\-])+(\.([a-z,0-9])+)+$/",$_POST['email'])) {
$t['c'] = file($config['recip_f']);
$t['n'] = sizeof($t['c']);
for ($i=0;$i<$t['n'];$i++) {
$t['c'][$i] = explode("|",trim($t['c'][$i]));
}
if (!empty($_POST['recip']) and !empty($t['c'][$_POST['recip']-1])) {
$var['recip_n'] = $t['c'][$_POST['recip']-1][1];
$var['recip_e'] = $t['c'][$_POST['recip']-1][0];
if (function_exists("imap_binary")) {
function mail_convert($str) {
$str = trim(imap_binary(addcslashes($str, "\"!@\\!@(!@)")));
return $str;
}
$var['subj'] = "=?Windows-1251?B?".trim(imap_binary(htmltoform($_POST['subject'])))."?=";
$var['header'] = "From: =?Windows-1251?B?".mail_convert(htmltoform($_POST['name']))."?= <".$_POST['email'].">\r\n";
$var['header'] .= "MIME-Version: 1.0\r\n";
$var['header'] .= "Content-Transfer-Encoding: 8bit\r\n";
$var['header'] .= "Content-Type: text/plain; charset=\"Windows-1251\"\r\n";
$var['header'] .= "X-Mailer: PHP v.".phpversion();
$var['message'] = htmltoform($_POST['message']);
if (!empty($config['features'])) $var['message'] .= "\r\n\r\n---------------------------------------\r\nIP адрес отправителя: ".$_SERVER['REMOTE_ADDR'];
# Пытаемся послать сообщение
if (mail("=?Windows-1251?B?".mail_convert(htmltoform($var['recip_n']))."?= <".$var['recip_e'].">",$var['subj'],$var['message'],$var['header'])) {
$notice['ok'] = "Сообщение успешно отправлено";
}
else {
$notice['error'] = "Системная ошибка - сбой функции &quot;mail&quot;";
}
}
else {
$notice['error'] = "Ошибка программы - недоступна функция &quot;imap_binary&quot;";
}
}
else {
$notice['error'] = "Ошибка настоек программы - неверный получатель";
}
}
else {
$notice['error'] = "Пожалуйста, проверьте правильность e-mail";
}
}
else {
$notice['error'] = "Пожалуйста, введите ".implode(", ",$notice['error']);
}
}
echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\">\r\n";
if (empty($notice['ok'])) {
echo "<form name=\"SM\" method=\"POST\" action=\"".$_SERVER['PHP_SELF']."?a=m\">\r\n";
}
else {
// ПРИ ВОЗНИКНОВЕНИИ ОШИБКИ "METHOD POST NOT ALLOWED" ИЗМЕНИТЬ "POST" на "GET"
echo "<form name=\"GT\" method=\"POST\" action=\"".$config['url_path']."\">\r\n";
}
# Сообщение о завершении / ошибке
if (!empty($notice)) {
echo "<tr><td align=\"center\">";
if (!empty($notice['ok'])) {
echo "<p><b><font color=\"#008000\">".$notice['ok']."!</font></b></p>";
}
elseif (!empty($notice['error'])) {
echo "<p><b><font color=\"#800000\">".$notice['error']."!</font></b></p>";
}
echo "</td></tr>\r\n";
}
# Вывод формы
if (empty($notice['ok'])) {
echo "<tr><td align=\"center\">";
require("./form.inc");
echo "</td></tr>\r\n";
}
echo "<tr><td align=\"center\"><table border=\"0\" cellpadding=\"5\" cellspacing=\"0\"><tr><td>";
# Кнопки
if (empty($notice['ok'])) {
echo "<input type=\"submit\" value=\"Отправить\"></td>\r\n";
echo "<td><input type=\"reset\" value=\"Сбросить\">\r\n";
}
else {
echo "<input type=\"submit\" value=\"".$config['url_name']."\">\r\n";
}
echo "</td></tr></table></td></tr>\r\n";
if (!empty($config['copyshow'])) {
echo "<tr><td align=\"center\"><font style=\"font-size: 10px;\"><a style=\"text-decoration: none\" href=\"http://www.jpcars.com/scripts/phpsendmail.zip\">PHPSendMail</a> v.2.1.2 © 2000-".date("Y")." <a style=\"text-decoration: none\" href=\"http://www.jpcars.com\" target=\"_blank\">JPCars.com</a></font></td></tr>\r\n";
}
echo "</form></table>\r\n";
# Футер
require("./footer.inc");
?>
Автор: TXT
Дата сообщения: 30.04.2007 17:25
да, присоединяюсь к вопросу:
как быстро переделать скпирт отправки формы на мыло с mail() на SMTP (ибо mail() отключен теперь) ?
Автор: Cheery
Дата сообщения: 30.04.2007 17:29
TXT

Цитата:
как быстро переделать скпирт отправки формы на мыло

использовать почтовые классы.. например phpmailer
Автор: TXT
Дата сообщения: 30.04.2007 21:40
Cheery
Почитал http://php.russofile.ru/ru/translate/mail/phpmailer/
Спасибо, подр..., посмеялсо...
Автор: Cheery
Дата сообщения: 30.04.2007 21:42
TXT

Цитата:
Спасибо, подр..., посмеялсо...

слэнг оставляем за пределами данного форума.
что то непонятно в описании?
Автор: TXT
Дата сообщения: 01.05.2007 12:58
Cheery

Кажется, понятно только одно - легкого перехода с элементарной формы php(mail) на smtp не получится
Автор: QT
Дата сообщения: 04.05.2007 03:58
Помогите пожалуйста разобраться с он-лайн формой! Нужно сделать так, чтобы была возможность выбора нескольких пунктов из списка... форма написана, но обработка не верная.. при выборе нескольких пунктов в поле "Тип товара", сейчас на имейл приходит лишь один пункт!!! А мне надо, чтобы несколько (к примеру: 2 или 3), неподскажите как это сделать? вот часть страницы с кодом формы и обработчика:


Код:

...

<?php
    
    if (isset($_POST[save_hid])) {

$p = $_POST;
$text = "Заказ с сайта\n\n";
$text .= "ФИО: \t\t ".$p[T1]."\n";
$text .= "E-mail: \t\t ".$p[T2]."\n";    
$text .= "Тип товара: \t\t ".$p[D1]."\n";
$text .= "Тип оплаты: \t\t ".$p[D2]."\n";
$text .= "Текст: \t\t ".$p[T3]."\n";

        
if (isset($p[metry])) foreach($p[metry] as $k =>$v) {
if (trim($v) != '') $text .= "\t ".$k.") ".$v."\n";
}

if (mail("example@mail.ru", "Заказ", $text, "")) echo "<b>Спасибо! Ваша заявка отправлена</b>"; else echo "ОШИБКА! Письмо не отправлено!";
        
    }
//    echo "<pre>";
//    print_r($_POST);
//    echo "</pre>";

?>

<form method="POST" action="">
<input type="hidden" name="save_hid" value="1">
                                
<p> ФИО<input type="text" name="T1" size="70"></p>

<p>E-mail<input type="text" name="T2" size="70"></p>

<p>Тип товара:<select size="2" name="D1" multiple>
<option value="пункт 1">пункт 1</option>
<option value="пункт 2">пункт 2</option>
<option value="пункт 3">пункт 3</option></select></p>

<p>Способ оплаты:<select size="2" name="D2">
<option value="Яндек-Деньги">Яндек-Деньги</option>
<option value="WebMoney (WMZ)">WebMoney (WMZ)</option></select></p>

<p class="news">Текст:<TEXTAREA class=inp type="text" name="T3" rows=4 cols="59"></TEXTAREA></p>
<p><input type="submit" value="Отправить"><input type="reset" value="Сброс"></p>
</form>

...

Страницы: 1234567891011121314151617

Предыдущая тема: Как сделать так чтобы в MySQL грузились тяжёлые картинки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.