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

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

Автор: Paaxaan
Дата сообщения: 28.04.2005 10:44
Bezzz
Ну да... чета многовато получилось...
Так т.е. нужно у каждого input сделать типа:
name=name1
name=name2
и т.д.

Так прокатит? Или нужно как-то по-другому?

Добавлено:
Bezzz
И как все-таки в строке то это записать?
Изначально имеется:

Код: mail("$adresat", "Сообщение с сайта", "От: $name\nАдрес: $email\nСообщение:\n\n$message", "Content-Type: text/plain; charset=\"windows-1251\"");
Автор: Bezzz
Дата сообщения: 28.04.2005 11:25
Paaxaan
Можно и так.

А в mail пишем

Код: "$name\nАдрес: $email\nСообщение:\n$message\n$name1\n$name2\n$name3..."
Автор: Paaxaan
Дата сообщения: 28.04.2005 11:39
Bezzz
Да, пасиба я уже догнал!
Вот тока у меня еще есть вопросик! По поводу input type=radio! У меня значит в форме есть несколько таких вот элементов, но выделить можно тока один! Если же взять ячейку таблицы в которой имеются input type=radio и "оформить" их в форму, и проделать так с каждой ячейкой в которой есть input type=radio, то вопрос снимается, но тогда возникает следующая трабла: не работает <input name="submit" type=submit value="Отправить">
Вот как здесь быть?
Автор: Bezzz
Дата сообщения: 28.04.2005 13:13
Paaxaan
Дык для того он и создан, чтобы выбрать один из несколько вариантов.
Тебе видимо надо использовать input type=checkbox
Автор: DeADMoHAX
Дата сообщения: 28.04.2005 22:33

Код:
<?php
if ($state == "")
{
$title="DeaDMail";
$header="Send An Email";
$announce="Мыль друзьям";
}
else
{
$title="PhpMail";
$header="Your Message Sent!";
$announce="Send Another Email...";
if ($ccText != "") $ccText="cc: $ccText <$ccText>\n";
if ($bccText != "") $bccText="Bcc: $bccText <$bccText>\n";
if ($mailformat == "Text") mail($toText, $subjectText, $msgText, "To: $toText <$toText>\n" . "From: $fromText <$fromText>\n" .$ccText.$bccText. "X-Mailer: PHP 4.x");
if ($mailformat == "Html") mail($toText, $subjectText, $msgText, "To: $toText <$toText>\n" . "From: $fromText <$fromText>\n" .$ccText.$bccText. "MIME-Version: 1.0\n" . "Content-type: text/html; charset=iso-8859-1");
}

?>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title><?php echo($title)?></title>
</head>

<body link="#0000ff" alink="#0000ff" vlink="#0000ff" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

Замени на свое !

<b><font face="Arial" size="4" color="#000080"><?php echo($announce)?></font><font face="Arial" size="3"><br>
</font></b>
<form method="POST" action="<?php echo($PHP_SELF)?>">
<p><font face="Arial" size="3"><b>To: <input type="text" name="toText" size="35"></b></font></p>
<p><font face="Arial" size="3"><b>Cc: <input type="text" name="ccText" size="35"></b></font></p>
<p><font face="Arial" size="3"><b>Bcc: <input type="text" name="bccText" size="35"></b></font></p>
<p><font face="Arial" size="3"><b>From: <input type="text" name="fromText" size="35"></b></font></p>
<p><font face="Arial" size="3"><b>Subject: <input type="text" name="subjectText" size="46"></b></font></p>
<p><font face="Arial" size="3"><b>Choose Email Format: </b></font>
<font face="Arial" size="2">Plain Text <input type="radio" name="mailformat" value="Text"> HTML <input type="radio" name="mailformat" value="Html"></font>
</p>
<p><font face="Arial" size="3"><b>Message Text:</b></font></p>
<p><font face="Arial" size="3"><b><textarea rows="11" name="msgText" cols="60"></textarea></b></font></p>
<p><font face="Arial" size="3"><b><input type="submit" value="Send" name="send" style="font-family: Arial; font-size: 12pt; font-weight: bold"></b></font></p>
<p>&nbsp;</p>
<input type="hidden" name="state" value="1">
</form>

Замени на свое !

</body>

</html>


Автор: Bezzz
Дата сообщения: 29.04.2005 05:59
DeADMoHAX
Если у тебя пхп > 4 и отключен register_globals скрипт работать нифига не будет
Лучше использовать array $_POST
Автор: Paaxaan
Дата сообщения: 29.04.2005 08:02
Bezzz
Ты меня не понял...
У меня в каждой ячейке имеются варианты input type=radio (т.е. ячейка1 - свои варианты, ячейка2 - свои варианты и т.д.). И соответственно в каждой то ячейке и нужно выбрать какую либо одну позицию, а у меня получается что можно выбрать тока что-то одно из ВСЕХ ячеек, т.е. все варианты (относящиеся к разным вопросам) получаются вроде как "вместе"! Так вот как их разделить то?
Автор: Bezzz
Дата сообщения: 29.04.2005 08:35
Paaxaan
Мда, немного не так понял...
Ничего сложного - radio выбирает одну из тех, у которых name одинаковый
типа первый блок:

Код:
<INPUT TYPE=radio NAME="char" value="a">a<br>
<INPUT TYPE=radio NAME="char" value="b">b<br>
<INPUT TYPE=radio NAME="char" value="c">c<br>
Автор: Paaxaan
Дата сообщения: 29.04.2005 10:57
Bezzz
Так с первой частью вопроса разобрался (т.е. теперь можно выбирать во всех блоках)!
А вот с тем, чтобы заставить эти результаты выбора приходить на мыло со всеми остальными... что-то не получается...
Т.е. я к строке

Код: mail("$adresat", "Сообщение с сайта", "От: $name\nАдрес: $email\nСообщение:\n\n$message", "Content-Type: text/plain; charset=\"windows-1251\"");
Автор: Bezzz
Дата сообщения: 29.04.2005 12:34
Paaxaan
Я тебе написал $_POST["char"]=a|b|c чтобы сказать, что после передачи формы переменная $_POST["char"] примет одно из этих a|b|c значений
Соответственно в mail надо писать

Код: $_POST["char"]
Автор: Paaxaan
Дата сообщения: 29.04.2005 14:11
Bezzz
Написал я

Код: ... \nЧисленность: $_POST[char]", ...
Автор: DeADMoHAX
Дата сообщения: 01.05.2005 12:10

Цитата:
Если у тебя пхп > 4

У меня РНР 5.03 и все пашет
Автор: Bezzz
Дата сообщения: 03.05.2005 05:56
DeADMoHAX
Значит в пхп конфиге включен register_globals :)

Paaxaan
Сорри, забыл сказать, что $_POST введены в версии >= 4.1.0. А в предыдущих версиях нужно использовать $HTTP_POST_VARS. Типа все верно :)
Автор: rip_curl
Дата сообщения: 05.07.2005 13:51
извините.
а как сделдать чтоб отправителю на указаный в форме емайл приходил ответ (тпа ваше письмо получено)?
Автор: Cheery
Дата сообщения: 05.07.2005 16:41
rip_curl

Цитата:
а как сделдать чтоб отправителю на указаный в форме емайл приходил ответ (тпа ваше письмо получено)?

а может сначала прочитаем все сообщения?
там и примеры есть.
Автор: rip_curl
Дата сообщения: 06.07.2005 14:49

Цитата:


<?php

if (($org != "")&&($adr != "")&&($tel != "")&&($description != "")) //проверка на заполнение обязательных полей
{


/* function cut($string)
{
$string = ereg_replace('\\\"',"&quot;",$string);
$string = ereg_replace("\\\'","&quot;",$string);
$string = str_replace("^ +","",$string);
$string = str_replace(" +$","",$string);
$string = str_replace(" +"," ",$string);
$string = str_replace ("<", "&lt;", $string);
$string = str_replace (">", "&gt;", $string);
return ($string);
}

$org = cut ($org);
$slog = cut ($slog);
$adr = cut ($adr);
$tel = cut ($tel);
$fax = cut ($fax);
$email = cut ($email);
$url = cut ($url);
$filials = cut ($filials);
$description = cut ($description);
*/

$body = "Краткое описание:

*Полное название организации: {$org}

Слоган: {$slog}
Адрес: {$adr}
Телефон: {$tel}
Факс: {$fax}
E-mail: {$email}
URL: {$url}
Филиалы: $filials

Другие: {$other}

Полное описание:
{$description}
Логотип"; //end of $body

$otvet = "ваша хрень получена";

mail("user@domain.com", "Анкета", $body, "From: $email\n X-MSMail-Priority: High\n") or die ("Ошибка отправки...");


mail("{$email}", "Ответ с сайта", $otvet, "From: $email\n X-MSMail-Priority: High\n");
}

else echo "<p align=center><font color=red>Не заполнено одно или несколько обязательных полей</font></p>";

?>




данный скрипт отправляет данные на указанный емаил и по идее должен отправлять на заполненый в форме, но, почему то он этого не делает.
может есть среди вас кто сможет это исправить?
или подсказать как это сделать.
кстати в денвере все работает а на сервере нет
Автор: Cheery
Дата сообщения: 06.07.2005 14:57
rip_curl

Цитата:
кстати в денвере все работает а на сервере нет

RTFM по поводу register_globals
http://us3.php.net/manual/ru/language.variables.predefined.php
http://us3.php.net/manual/ru/security.globals.php
доступ через $_POST['имя_переменной']
или $_GET['...'] в зависимости от метода передачи данных
Автор: rip_curl
Дата сообщения: 07.07.2005 06:34
Cheery
извините, пожалуйста, а можно мне все разжевать.

просто я такой же программист, как негр - белый...

ещё раз извините.
Автор: Cheery
Дата сообщения: 07.07.2005 06:35
rip_curl
http://phpfaq.ru/globals
Автор: Shereta
Дата сообщения: 11.09.2005 10:12
подскажите пожалуйста ссылку на скрип, где описано как перед отправлением письма вставить запрос на ввод числа с картинки(борьба со спамом), а то мне в последние пару дней начало много пустых писем приходить
Автор: Cheery
Дата сообщения: 11.09.2005 19:31
Shereta
Защита форм от роботов (скрипт)
Автор: pLX
Дата сообщения: 28.09.2005 01:41
ПРоблема.

Есть сервак под плеском.
стаит там кюмаил, если отправлять почту на него с клиета почтового то всё ок, уходит.
Но если отправлять с вэб формы на этом же серваке то ничего неуходит.

Может ктото посоветует шото?
Автор: Cheery
Дата сообщения: 28.09.2005 01:46
pLX

Цитата:
Может ктото посоветует шото?

смотреть настройки в php.ini.. через какой сервер пытается все послаться..
смотреть логи почтовика, что происходит. наверняка нужна авторизация.
использовать phpmailer, позволяющий слать через любой почтовик и с авторизацией.
Автор: pLX
Дата сообщения: 01.10.2005 22:42
Решил проблему phpmailer-ом.

Штука отличная!!!!!
Автор: dimser
Дата сообщения: 01.01.2006 21:18
В принципе нашел хороший скрипт msender (cgi.myweb.ru) Скрипт всем устраивает, но у него нет
1. функции перекодировки сообщения из Win -> Koi перед отправкой
2. Функции сортировки по полям формы в сообщении т.е. получается что приходит письмо а там.. типа 1 3 4 5 2 , а надо 1 2 3 4 5.

Вот эти два недостатка.... не компенсируют его достоинств.

Кто может посоветовать аналогичные скрипты.. данной тематики, а может кто то уже переделал этот скрипт.

Жду комментариев.
Автор: 4Life
Дата сообщения: 01.01.2006 21:24

Цитата:
Функции сортировки по полям формы в сообщении т.е. получается что приходит письмо а там.. типа 1 3 4 5 2 , а надо 1 2 3 4 5

нужно в правельном порядке разместить переменные при отсылке их на е-мейл.
Автор: dimser
Дата сообщения: 01.01.2006 22:04
4Life
Это я понимаю... но в коде этого скрипта черт ногу сломит.. лично мне долго разбираться... чего и откуда.. берется..
Автор: 4Life
Дата сообщения: 02.01.2006 20:56
dimser
посмотри в форме название полей, потом в редакторе найди где эти имена упоменаются.
Автор: dimser
Дата сообщения: 06.01.2006 15:39
4Life
В том и то и дело что в скрипте эти поля на форме явно не указываются... и как их найти... загвозка...
Автор: Himera
Дата сообщения: 17.01.2006 18:01
Помогите, пожалуйста!
Вот создал я скрипт... обозвал mailform.php
содержание:


Код:
<?php

// All you need to change is the e-mail addy:
$email = 'himera@mosk.ru';
$subject = 'Message from web site';

//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
$text .= "$key = $value \n";
}

$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
mail($email,$subject,$text,"From: $from\nReply-To: $from\n");

?>

<html>

<head>
<title>Sent!</title>
</head>

<body bgcolor="#ffffff" text="#000000">

<p align="center"><font size="2" face="Arial"><b>Message Sent!</b></font>

</body>
</html>

Страницы: 1234567891011121314151617

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


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