[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отмена передачи текста незаполненных форм
Elimdar
Здравствуйте! Хочу сразу предупредить что не очень понимаю в php.
У меня есть форма заказа и скрипт для её отправки. Всё работает, но когда поступает письмо на почту в сообщении присутствует текст незаполненных полей формы. Как можно сделать так чтоб на почту приходили данные только с измененных полей формы. Я так понимаю в скрипте отправки нужно что-то дописать. Помогите пожалуйста, уже всю сеть обюзал ничего подобного не могу найти.
Есть подобная форма:

<body onLoad="hata_ver(0)">
<
div align="left" class="glossymenu">
<
form id="forum" action="script.php" method="post">
<
table width="100%" height="101" border="0" cellpadding="1" cellspacing="2" style="border:solid; border-color:#DDDDDD" >
<
tr bgcolor="#DDDDDD" style="border:solid; border-color:#DDDDDD" ><td width="68">001</td>
<
td width="107">20x1/2"</td>
<td width="
51">42</td>
<td width="
48">240</td>
<td width="
40">0,382</td>

<td width="
44"><input onChange="zakaz('001','0',this.value )" type="text" size="6" name='FEMALE_ADAPTOR_001' ></td></tr>
<tr bgcolor="
#DDDDDD" style="border:solid; border-color:#DDDDDD" ><td width="68">003</td>
<td width="107">25x3/4"</td>
<td width="
51">56</td>
<td width="
48">150</td>
<td width="
40">0,457</td>

<td width="
44"><input onChange="zakaz('003','0',this.value )" type="text" size="6" name='FEMALE_ADAPTOR_003' ></td></tr></table>
<div align="
center">
<table width="
501" border="0" cellspacing="1" cellpadding="1">
<tr>
<td colspan="
3" valign="top"><p align="center"><strong>Информация для заказа</strong></p>
</td>
</tr>
<tr>
<td width="
122">ФИО</td>
<td colspan="
2"><input name="name_f_i_o" type="text" size="20" maxlength="50" /></td>
</tr>
<tr>
<td width="
122">E-mail:</td>
<td colspan="
2"><input name="mail" type="text" size="20" maxlength="50" /></td>
</tr>
<tr>
<td>Номер Телефона</td>
<td colspan="
2"><input name="namb" type="text" size="20" maxlength="50" /></td>
</tr>
<tr>
<td>Адрес:</td>
<td colspan="
2"><textarea name="adres" type="text" size="20"></textarea></td>
</tr>
</table>
</div>
<label></label><label><br>
<br>
</label>
<label></label>
<p align="
center">
<input name="
submit" type="submit" value="Заказать" />

Это script.php:
<?PHP header("Content-Type: text/html; charset=windows-1251");?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?php
if (isset($_POST['FEMALE_ADAPTOR_001'])) {$FEMALE_ADAPTOR_001 = $_POST['FEMALE_ADAPTOR_001'];}
if (isset($_POST['FEMALE_ADAPTOR_002'])) {$FEMALE_ADAPTOR_002 = $_POST['FEMALE_ADAPTOR_002'];}
if (isset($_POST['name_f_i_o'])) {$name_f_i_o = $_POST['name_f_i_o'];}
if (isset($_POST['mail'])) {$mail = $_POST['mail'];}
if (isset($_POST['namb'])) {$namb = $_POST['namb'];}
if (isset($_POST['adres'])) {$adres = $_POST['adres'];}
if (isset($_POST['text'])) {$text = $_POST['text'];}
if (isset($_POST['submit'])) {$submit = $_POST['submit'];}

if (isset($submit))
{
if (empty($name_f_i_o) or empty($mail) or empty($namb) or empty($adres))
{
exit ("<p>Вы ввели не всю информацию вернитесь назад и папробуйте занова!!!</p>
<br><input name='back' type='button' value='Назад' onclick='javascript:self.back();'>"
);
}
/*Тут введите адрес куда нужно отправлять*/
$my_mail = "blabla@mail.ru";

$tema = "Новый заказ.";
$mess = "Появился новый заказ:
\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457 Количество:".$FEMALE_ADAPTOR_001.
"\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457 Количество: ".$FEMALE_ADAPTOR_002."
Имя заказчика:"
.$name_f_i_o."\nПочта клиента:".$mail."\nТелефонный номер:".$namb."\nАдрес доставки:".$adres."\nПожелания клиента:".$text."";
mail ($my_mail,$tema,$mess,"Content-type:text/plain;Charset=windows-1251\n\r");

echo "<html><head>
<meta http-equiv='Refresh' content='2; URL=/'>
</html></head> Спасибо за заказ, мы с вами свяжимся."
;
}
else
{
echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=/'>
</html></head>"
;
exit ();
}
php?>





Спустя 15 минут, 48 секунд (17.01.2012 - 15:49) Игорь_Vasinsky написал(а):
Ну вот у тя проверяется всего несколько полей формы

if (empty($name_f_i_o) or empty($mail) or empty($namb) or empty($adres)) 


допиши через OR или || остальные поля, которые не должны быть пустыми.

Спустя 16 минут, 24 секунды (17.01.2012 - 16:05) inpost написал(а):
Elimdar
Делай дубликат полей. Дубль ставь display:none, имя не забудь поменять. Далее в обработчике сравнивай оригинальное поле с полем дубля, если они отличаются, значит это поле было изменено, и вставляй в письмо. Если одинаковое, то игнорируй, так как поле не менялось.

Спустя 23 минуты, 32 секунды (17.01.2012 - 16:29) asokol написал(а):
inpost - это делается с помощью input type="hidden".

Спустя 17 минут, 16 секунд (17.01.2012 - 16:46) inpost написал(а):
asokol
эффект тот же smile.gif

Спустя 12 минут, 36 секунд (17.01.2012 - 16:59) Elimdar написал(а):
Если честно я не совсем понимаю как и куда ставить дубль. Не могли бы вы на примере моего кода показать это?

Спустя 12 минут, 29 секунд (17.01.2012 - 17:11) elimdar написал(а):
Мне на почту должно приходить сообщение такого типа:

Появился новый заказ:

001_25x1/2_58_150 Количество: 1(если же количество не было указано то вообще ничего не должно приходить)
002_30x1/2_58_150 Количество: 2(аналогично первому)
Имя заказчика: Иван Иванович
Почта клиента:client@gmail.com
Телефонный номер:+79123456789
Адрес доставки: г. Москва

Спустя 19 минут, 42 секунды (17.01.2012 - 17:31) Игорь_Vasinsky написал(а):
Цитата
Ну вот у тя проверяется всего несколько полей формы

if (empty($name_f_i_o) or empty($mail) or empty($namb) or empty($adres))


допиши через OR или || остальные поля, которые не должны быть пустыми.

Спустя 3 минуты, 5 секунд (17.01.2012 - 17:34) inpost написал(а):
elimdar
Может в таком случае нанять программиста, чтобы он дописал скрипт?
Создаёшь 2 одинаковых инпута, только один из них скрытый. Содержание у обоих одинаковое, имена разные. В скрипте сравниваешь первый со вторым. Если они отличаются - значит этот инпут был изменён.

Игорь_Vasinsky
В условии: "Как можно сделать так чтоб на почту приходили данные только с измененных полей формы.", я имею ввиду "изменённых", а не "пустых", поэтому мой вариант.

Спустя 24 минуты, 30 секунд (17.01.2012 - 17:58) elimdar написал(а):
А сколько будет стоить дописать этот скрипт?

Спустя 8 минут, 35 секунд (17.01.2012 - 18:07) inpost написал(а):
Игорь_Vasinsky
Твой выход. Называй сумму smile.gif

Спустя 44 минуты, 17 секунд (17.01.2012 - 18:51) elimdar написал(а):
Помогите пожалуйста! Мне это очень нужно а причём и срочно.

Спустя 1 час, 47 минут, 26 секунд (17.01.2012 - 20:39) Игорь_Vasinsky написал(а):
Во-первых - это не мой "Размер" wink.gif

Во-вторых: ТС - ты можешь чётко сформулировать: не приходили письма с пустыми полями или данные только с измененных полей формы?

Спустя 13 минут, 28 секунд (17.01.2012 - 20:52) elimdar написал(а):
В скрипте прописано
$tema = "Новый заказ.";
$mess = "Появился новый заказ:
\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457 Количество:".$FEMALE_ADAPTOR_001.
"\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457 Количество: ".$FEMALE_ADAPTOR_002."
Имя заказчика:"
.$name_f_i_o."


И в итоге в письме приходит текст (Муфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457 Количество:) не зависимо от того указывалось количество или нет.

Мне нужно чтоб если в форме количество было изменено то текст приходил, а если в форму ничего не было вписано то и соответствующий текст не приходил.

Спустя 2 минуты, 13 секунд (17.01.2012 - 20:54) Игорь_Vasinsky написал(а):
короче: тут кто то на лыжах, а кому-о меньше повезло biggrin.gif


тебе нужно чтоб тупо при заказе указывали количество?

Спустя 13 минут, 55 секунд (17.01.2012 - 21:08) elimdar написал(а):
Я пытаюсь сделать такую вот форму заказа Всё уже готово но если клиент заказывает даже 1 товар мне на почту приходит весь список.

Муфта Переходная Количество: 1
Муфта Наружная Количество:
и т.д. весь товар.

Мне нужно чтоб на почту приходило описание только заказанного товара.
Вроде правильно изложил...

Спустя 4 минуты, 6 секунд (17.01.2012 - 21:12) Игорь_Vasinsky написал(а):
форму покажи.

Спустя 9 минут, 29 секунд (17.01.2012 - 21:22) elimdar написал(а):
Я в начале темы её кусок приложил или это не то?
http://www.arangul.com.ua/zakaz/urun_siparis.php# вот так моя форма выглядит

Спустя 7 минут, 16 секунд (17.01.2012 - 21:29) Игорь_Vasinsky написал(а):
Цитата
\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457  Количество:".$FEMALE_ADAPTOR_001.
"\nМуфта Переходная с Внутренней Резьбой 001_25x1/2_58_150 Цена: $0,457  Количество: ".$FEMALE_ADAPTOR_002."


а ты ручками чтоль сам в письме прописываешь все детали? ohmy.gif

Спустя 2 минуты (17.01.2012 - 21:31) elimdar написал(а):
а я не знаю как по другому

Спустя 1 минута, 12 секунд (17.01.2012 - 21:32) elimdar написал(а):
если есть варианты по проще чтоб разом всё отправить без вписывания я бы с удовольствием так как ещё ничего почти не вписал

Я ведь в начале темы предупредил что ничего не понимаю в php/

Спустя 13 минут, 10 секунд (17.01.2012 - 21:46) Игорь_Vasinsky написал(а):
вообщем это замута не правильная. эзай корзину на Ajax чтоли

Свернутый текст
вот http://part-fast.ru, моё детище - обрати внимание как должно работать

Спустя 18 минут, 24 секунды (17.01.2012 - 22:04) elimdar написал(а):
Но мне нужен этот вариант. Я понимаю что это возможно но не знаю как.

Спустя 3 минуты, 4 секунды (17.01.2012 - 22:07) inpost написал(а):
Игорь_Vasinsky
Ну подправь ты уже наконец! Тортик жене купишь smile.gif

Спустя 3 минуты, 20 секунд (17.01.2012 - 22:10) Игорь_Vasinsky написал(а):
Свернутый текст
да ну некогда, честн слово, даже вникать.. а жене я ноутбук куплю,а себе акустико электрическую гитару wink.gif


ТС - создай тему в разделе проекты, укажи бюджет - быстрее будет. работу принимай по факту, спрашивай по ЛС мнения об исполнителе у разных форумчан.

Спустя 3 минуты, 9 секунд (17.01.2012 - 22:14) elimdar написал(а):
Неужели всё на столько сложно?

Спустя 33 секунды (17.01.2012 - 22:14) elimdar написал(а):
А я думал там пару кодов влепить и всё ОК будет)

Спустя 10 часов, 10 минут, 13 секунд (18.01.2012 - 08:24) johniek_comp написал(а):
Вам что в западло было 10 символов написать? Ужас до чего долши mad.gif

Спустя 26 минут, 15 секунд (18.01.2012 - 08:51) Игорь_Vasinsky написал(а):
johniek_comp
напиши эти 10 символов.

Спустя 49 минут, 29 секунд (18.01.2012 - 09:40) johniek_comp написал(а):
Игорь_Vasinsky
ТС ушел уже...

Спустя 1 час, 11 минут, 40 секунд (18.01.2012 - 10:52) Игорь_Vasinsky написал(а):
ну ты для других напиши.

Спустя 26 минут, 19 секунд (18.01.2012 - 11:18) elimdar написал(а):
Если Вам не сложно то я ещё тут)

Спустя 2 дня, 9 часов, 16 минут, 7 секунд (20.01.2012 - 20:34) elimdar написал(а):
Да и в правду помочь не сложно было бы.
Спасибо Вам вот то что я искал:

$mess = "Появился новый заказ:";
if ($FEMALE_ADAPTOR_001)
{
$mess .= 'текст'.$FEMALE_ADAPTOR_001;
}
...

Спустя 11 минут, 28 секунд (20.01.2012 - 20:46) Игорь_Vasinsky написал(а):
ohmy.gif чёт я не в.ехал в эту схему.

PS ... аа.. понял.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.