Как сделать все поля обязательными для заполения

12
ШO
На сайте с 27.12.2005
Offline
375
1120

Существует форма заказа DVD-диска, заказчик настаивает на том, что бы все поля были обязательными для заполения, хоть он и не прав, но спортить не хочется.

Вот код, как тут это осуществить?

<?php

$to = "";
$subject = "Заказ DVD";
$message = "Фамилия:$fam::::::::::Имя:$name::::::::::Отчество:$ot::::::::::Почта:$mail::::::::::Город:$gorod::::::::::Улица:$ul:::::::::Дом:$dom::::::::::Квартира:$kv::::::::::Телефон:$tel::::::::::Индекс:$index::::::::::Количество DVD:$dvd::::::::::Сообщение:$mess::::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message, "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n") or print "Не могу отправить письмо !!!";
include 'header';
echo "<center><b>Спасибо за отправку вашего сообщения</b>";
include 'footer';
exit;
?>
kit1980
На сайте с 24.07.2006
Offline
62
#1
ШАНС-ON:
Существует форма заказа DVD-диска, заказчик настаивает на том, что бы все поля были обязательными для заполения, хоть он и не прав, но спортить не хочется.

Вот код, как тут это осуществить?

<?php

$to = "";
$subject = "Заказ DVD";
$message = "Фамилия:$fam::::::::::Имя:$name::::::::::Отчество:$ot::::::::::Почта:$mail::::::::::Город:$gorod::::::::::Улица:$ul:::::::::Дом:$dom::::::::::Квартира:$kv::::::::::Телефон:$tel::::::::::Индекс:$index::::::::::Количество DVD:$dvd::::::::::Сообщение:$mess::::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message, "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n") or print "Не могу отправить письмо !!!";
include 'header';
echo "<center><b>Спасибо за отправку вашего сообщения</b>";
include 'footer';
exit;
?>

Это код отправки письма, насколько я понимаю :)

Энциклопедия языков программирования (http://progopedia.ru/) kit1980.ru (http://kit1980.ru/)
Shtogrin
На сайте с 02.11.2006
Offline
95
#2

Этот скрипт требует register_globals=on, ваш хостинг это разрешает?

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
ШO
На сайте с 27.12.2005
Offline
375
#3
Shtogrin:
Этот скрипт требует register_globals=on, ваш хостинг это разрешает?

Скрипт этот работает прекрасно, но можно ни чего не заполнив нажать "отправить" и придет пустое письмо.

Заказчик же хочет принудить к заполнению всех полей без исключения.

S
На сайте с 13.07.2007
Offline
56
#4

Поочередная проверка всех переменных на strlen(trim('имя_переменной')).

ШO
На сайте с 27.12.2005
Offline
375
#5

solnikolay, а можно в коде это на примере показать? Пожалуйста?

S
На сайте с 13.07.2007
Offline
56
#6

if(strlen(trim($fam)) < 5)

{

exit('Слишком короткая фамилия');

}

ШO
На сайте с 27.12.2005
Offline
375
#7

solnikolay, я в пхп вообще не разбираюсь, куда это воткнуть то? :)

S
На сайте с 13.07.2007
Offline
56
#8

После $subject = "Заказ DVD";.

То же само прописать для $name,$ot,$mail,$gorod,$ul,$dom,$kv,$tel,$index,$dvd,$mess.

Это из самых простых вариантов.

dRiveR.dLL
На сайте с 25.09.2006
Offline
79
#9

Вот как-то так, кажется должно работать :)


<?php
if($fam==NULL || $name==NULL || $ot==NULL || $mail==NULL || $fam==NULL || $gorod==NULL || $ul == NULL || $dom == NULL || $kv == NULL || $tel == NULL || $index == NULL || $dvd == NULL || $mess == NULL) {
$return = "Необходимо заполнить все поля формы";
} else {
$to = "";
$subject = "Заказ DVD";
$message = "Фамилия:$fam::::::::::Имя:$name::::::::::Отчество:$ot::::::::::Почта:$mail::::::::::Город:$gorod::::::::::Улица:$ul:::::::::Дом:$dom::::::::::Квартира:$kv::::::::::Телефон:$tel::::::::::Индекс:$index::::::::::Количество DVD:$dvd::::::::::Сообщение:$mess::::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message, "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n") or print "Не могу отправить письмо !!!";
$return = "<center><b>Спасибо за отправку вашего сообщения</b>";
}
include 'header';
print $return;
include 'footer';
exit;
?>
DI
На сайте с 03.01.2007
Offline
123
#10

только для сравнения с NULL надо все же прогнать все переменные через trim() хотя бы, потому что пробел != NULL

solnikolay:
f(strlen(trim($fam)) < 5)
{
exit('Слишком короткая фамилия');
}

А как же какой-нибудь вьетнамец с фамилией Буй?:)

Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий