|
|
| Автор |
Сообщение |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Вт Июл 19, 2005 8:18 pm Заголовок сообщения: Форма отправки e-mail на PHP |
|
|
Позволю себе опубликовать письмо, пришедшее мне в частном порядке:
| dobsa писал(а): |
Подскажите пожалуйста!!! Есть форма отправки почты и PHP скрипт, будут ли ОНИ работать? (
---------------------------------
HTML
---------------------------------
<table width=600 border=0 cellspacing=5 cellpadding=5>
<tr>
<td>
<form action=action.php method="post" name=feedback onsubmit='return feed()'>
<p class="feed">Поля, отмеченные звездочкой, обязательны для заполнения.</p>
<p class="fedd1">* Ф.И.О.</p><input class=input1 type=text size=50 maxlength=100 name=client>
<br>
<p class=fedd1>* Адрес электронной почты</p><input class=input1 type=text size=50 maxlength=100 name=email>
<br>
<p class="fedd1">Тема сообщения</p><input class=input1 type=text size=50 maxlength=100 name=subj>
<br>
<p class=fedd1>* Текст сообщения</p><textarea class=input1 cols=50 rows=7 name=txt></textarea>
<br>
<br>
<input type=submit value='Отправить сообщение'></form>
</td>
</tr>
</table>
-----------------------------------
PHP
-----------------------------------
<?php
$message=("
Name : $client
Telephon : $tel
Subject : $subj
Text message : $txt");
mail("dobsa@mail.ru", $emai, $message); ?>
|
Смею Вас заверить, что данная форма работать не будет хотя бы потому, что даже в HTML у ошибки: аргументы тегов не взяты в кавычки. К тому же, полным-полно других ошибок (в PHP).
Вот как должна выглядет простейшая форма отправки сообщений:
| Код: |
<?
# Лучше всего изначально сохранить этот файл
# как .php - так оно надежнее будет
# Для начала определим, когда должна выводиться форма отправки
# а когда должен работать скрипт
if(!@$_POST['mail']) # Если кнопка отправки еще не нажата
{
echo '<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td><form name="form1" method="post" action="'.@$_SERVER['PHP-SELF'].'">
<p>Поля, отмеченные звездочкой * обязательны для заполнения!</p>
<p>Фамилия, Имя, Отчество*<br><input name="fio" type="text" id="fio"></p>
<p>Ваш адрес эл. почты*<br><input name="mail" type="text" id="mail"></p>
<p>Тема сообщения<br><input name="subj" type="text" id="subj"></p>
<p>Текст сообщения<br><textarea name="message" id="message"></textarea></p>
<p><input name="mail" type="submit" id="mail" value="Отправить сообщение"></p>
</form></td></tr></table>';
# В значении аргумента ACTION тега FORM использована серверная переменная $_SERVER['PHP-SELF'], которая возвращает адрес этого же файла, например: http://localhost/form.php. Таким образом, мы замыкаем скрипт на самого себя
}
else # Если же кнопку нажали
{
$message=''; # Сначала обозначаем переменную сообщения
# Добавляем имя клиента:
$message.='Name: '.@$_POST['fio'].'<br>';
# Добавляем адрес эл. почты:
$message.='E-mail: '.@$_POST['mail'].'<br>';
# Добавляем собственно текст сообщения:
$message.='Message : '.@$_POST['message'].'<br>';
# Теперь передаем переменную $message в функцию mail():
mail('your@e-mail.com', @$_POST['subj'], $message);
}
# Вот и все. Единственный момент - после $message в функции mail() лучше всего добавить заголовки,
# которые идут в самом начале каждого сообщения e-mail. Эти заголовки я описывать здесь не буду,
# т.к. информации на эту тему в И-нете полно: введите "функция mail" в Рамблере и получите кучу информации
?>
|
|
|
| Вернуться к началу |
|
 |
mfd Новичок

Возраст: 38
Зарегистрирован: 17.12.2005
Сообщения: 26
|
Добавлено: Пт Дек 23, 2005 1:52 pm Заголовок сообщения: |
|
|
Есть хороший скрипт для отправки писем с сайта от TSB Scripts http://tsbs.ru/index.php?menu=scripts&script=tsbmailer
Как вы относитесь к таким, более сложно выполненым скриптам? |
|
| Вернуться к началу |
|
 |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Пт Дек 23, 2005 7:59 pm Заголовок сообщения: |
|
|
| mfd, на самом деле, более сложно выполненные скрипт именно так выполнены для того, чтобы более быстро и максимально просто "встать" на абсолютно любом сайте. Главное во всех скриптах - их нормальная работа. |
|
| Вернуться к началу |
|
 |
mfd Новичок

Возраст: 38
Зарегистрирован: 17.12.2005
Сообщения: 26
|
Добавлено: Пт Дек 23, 2005 9:41 pm Заголовок сообщения: |
|
|
| Я тоже так считаю. И поэтому вышеуказанный скрипт сам использую. |
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
Добавлено: Пн Июл 17, 2006 4:01 pm Заголовок сообщения: |
|
|
| mfd писал(а): | | Я тоже так считаю. И поэтому вышеуказанный скрипт сам использую. | Люди, не поможете со скриптом. Нужен рнр скрипт анкеты, чтобы там были данные:
ФИО
Страна
Город
Телефон
Серия паспорта
Е-маил
В таком духе, и чтобы на е-маил админу данные уходили.
Буду благодарен любой помощи! Может у кого-то есть скрипт - удружите! Сбросьте на мыло banyman@bk.ru |
|
| Вернуться к началу |
|
 |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Пн Июл 17, 2006 7:29 pm Заголовок сообщения: |
|
|
| banyman, чем не устраивает этот скрипт? Его надо только лишь чуть переделать. |
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
Добавлено: Вт Июл 18, 2006 11:12 am Заголовок сообщения: |
|
|
Да я пока не секу в рнр... но знаю, что доработать можно было бы...
может кто может помочь? |
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
Добавлено: Вт Июл 18, 2006 4:30 pm Заголовок сообщения: |
|
|
Денис,
Вот я тут попытался кое чего переделать, но забросив на хост файл для теста.. ничего не вышло. Посмотрите пожалуйста в чем ошибка, и подскажите: весь этот код – это один файл *.php? его можно вставить в html шаблон и он будет работать (только html на php переименовать)?
<?
# Лучше всего изначально сохранить этот файл
# как .php - так оно надежнее будет
# Для начала определим, когда должна выводиться форма отправки
# а когда должен работать скрипт
if(!@$_POST['mail']) # Если кнопка отправки еще не нажата
{
echo '<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td><form name="form1" method="post" action="'.@$_SERVER['PHP-SELF'].'">
<p>Поля, отмеченные звездочкой * обязательны для заполнения!</p>
<p>Фамилия, Имя, Отчество*<br><input name="fio" type="text" id="fio"></p>
<p>Дата Рождения*<br><input name="dr" type="text" id="dr"></p>
<p>Паспорт серия/номер*<br><input name="pasport" type="text" id="pasport"></p>
<p>Дата выдачи*<br><input name="dv" type="text" id="dv"></p>
<p>Кем выдан*<br><textarea name="ho_pass" id="ho_pass"></textarea></p>
<p>Страна*<br><input name="cap" type="text" id="cap"></p>
<p>Город*<br><input name="city" type="text" id="city"></p>
<p>Адрес фактического проживания (полностью)*<br><textarea name="live" id="live"></textarea></p>
<p>Адрес прописки*<br><textarea name="adres_live" id="adres_live"></textarea></p>
<p>Почтовый индекс*<br><input name="poust_index" type="text" id="poust_index"></p>
<p>Телефон (с кодом города)*<br><input name="tel" type="text" id="tel"></p>
<p>Мобильный телефон<br><input name="mobil" type="text" id="mobil"></p>
<p>E-mail для связи*<br><input name="mail" type="text" id="mail"></p>
<p>Ваша цель:*<br>
1. Покупать косметику со скидкой для себя<br>
2. Зарабатывать на продажах<br>
3. Строить собственный бизнес с компанией Орифлэйм<br>
(введите цифру соответствующего пункта)<br><input name="subj" type="text" id="subj"></p>
<p>Немного о себе*<br>
Семейное положение<br>
Образование<br><textarea name="message" id="message"></textarea></p>
<p><input name="mail" type="submit" id="mail" value="Отправить сообщение"></p>
</form></td></tr></table>';
# В значении аргумента ACTION тега FORM использована серверная переменная $_SERVER['PHP-SELF'], которая возвращает адрес этого же файла, например: http://localhost/form.php. Таким образом, мы замыкаем скрипт на самого себя
}
else # Если же кнопку нажали
{
$message=''; # Сначала обозначаем переменную сообщения
# Добавляем имя клиента:
$message.='Name: '.@$_POST['fio'].'<br>';
# Добавляем дату рождения:
$message.='Dr: '.@$_POST['dr'].'<br>';
# Добавляем серию паспорта:
$message.='Pasport: '.@$_POST['pasport'].'<br>';
# Добавляем дату выдачи паспорта:
$message.='Dv: '.@$_POST['dv'].'<br>';
# Кем выдан паспорт:
$message.='Ho_pass: '.@$_POST['ho_pass'].'<br>';
# Добавляем страну:
$message.='Cap: '.@$_POST['cap'].'<br>';
# Добавляем город:
$message.='City: '.@$_POST['city'].'<br>';
# Адрес фактического проживания:
$message.='Live: '.@$_POST['live'].'<br>';
# Адрес прописки:
$message.='Adres_live: '.@$_POST['adres_live'].'<br>';
# Добавляем почтовый индекс:
$message.='Poust_index: '.@$_POST['poust_index'].'<br>';
# Добавляем телефон:
$message.='Tel: '.@$_POST['tel'].'<br>';
# Добавляем мобильный телефон:
$message.='Mobil: '.@$_POST['mobil'].'<br>';
# Добавляем адрес эл. почты:
$message.='E-mail: '.@$_POST['mail'].'<br>';
# Добавляем собственно текст сообщения:
$message.='Message: '.@$_POST['message'].'<br>';
# Теперь передаем переменную $message в функцию mail():
mail('banyman@bk.ru', @$_POST['subj'], $message);
}
?> |
|
| Вернуться к началу |
|
 |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Ср Июл 19, 2006 5:30 am Заголовок сообщения: |
|
|
| Цитата: |
забросив на хост файл для теста.. ничего не вышло
|
А что вышло? А хост PHP поддерживает? |
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
|
| Вернуться к началу |
|
 |
banyman Новичок

Возраст: 29
Зарегистрирован: 17.07.2006
Сообщения: 7
|
Добавлено: Ср Июл 19, 2006 4:24 pm Заголовок сообщения: |
|
|
А каким образом делается следующее:
Чтобы выходили сообщения о принятом сообщении, или о не заполненных полях? |
|
| Вернуться к началу |
|
 |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Ср Июл 19, 2006 7:31 pm Заголовок сообщения: |
|
|
| banyman, учите матчасть (PHP) |
|
| Вернуться к началу |
|
 |
BETEP Новичок

Возраст: 30
Зарегистрирован: 21.07.2007
Сообщения: 9
|
Добавлено: Ср Сен 24, 2008 11:03 pm Заголовок сообщения: |
|
|
у меня форма обратной связи примерно такая же как эта форма | banyman писал(а): | Денис,
{
$message=''; # Сначала обозначаем переменную сообщения
# Добавляем имя клиента:
$message.='Name: '.@$_POST['fio'].'<br>';
# Добавляем дату рождения:
$message.='Dr: '.@$_POST['dr'].'<br>';
# Добавляем серию паспорта:
$message.='Pasport: '.@$_POST['pasport'].'<br>';
# Добавляем дату выдачи паспорта:
$message.='Dv: '.@$_POST['dv'].'<br>';
# Кем выдан паспорт:
$message.='Ho_pass: '.@$_POST['ho_pass'].'<br>';
# Добавляем страну:
$message.='Cap: '.@$_POST['cap'].'<br>';
# Добавляем город:
$message.='City: '.@$_POST['city'].'<br>';
# Адрес фактического проживания:
$message.='Live: '.@$_POST['live'].'<br>';
# Адрес прописки:
$message.='Adres_live: '.@$_POST['adres_live'].'<br>';
# Добавляем почтовый индекс:
$message.='Poust_index: '.@$_POST['poust_index'].'<br>';
# Добавляем телефон:
$message.='Tel: '.@$_POST['tel'].'<br>';
# Добавляем мобильный телефон:
$message.='Mobil: '.@$_POST['mobil'].'<br>';
# Добавляем адрес эл. почты:
$message.='E-mail: '.@$_POST['mail'].'<br>';
# Добавляем собственно текст сообщения:
$message.='Message: '.@$_POST['message'].'<br>';
# Теперь передаем переменную $message в функцию mail():
mail('banyman@bk.ru', @$_POST['subj'], $message);
}
?> |
но у меня все введенные поля приходят в письме одной строкой. как сделать что бы каждая введенная инфа была отдельной строкой в письме.
я предпологаю, что это должно делаться с помошью '<br>' (отображается в тексте письма), убираю кавычки и получаю в экспорере:
Parse error: syntax error, unexpected '<' in /home/iscarru/public_html/autozap/config.php on line 9
Хэлп. задача явно простая, но я не осилил |
|
| Вернуться к началу |
|
 |
Денис Модератор

Возраст: 33
Зарегистрирован: 21.08.2004
Сообщения: 1486
Откуда: Санкт-Петербург
|
Добавлено: Вс Сен 28, 2008 1:51 pm Заголовок сообщения: |
|
|
| Ну так Вам написали, что в файле /home/iscarru/public_html/autozap/config.php в 9-й строчке ошибка - неожиданный символ <. Открывайте этот файл в Dreamweaver, переходите на 9-ю строчку и тщательно проверяйте весь синтаксис. Особое внимание - кавычкам и точкам с запятыми. |
|
| Вернуться к началу |
|
 |
|