Шустрый

Профиль
Группа: Участник
Сообщений: 89
Регистрация: 5.6.2008
Репутация: нет Всего: нет
|
Вот сама форма, плз помогите сделать ее более профессиональной, я буду Благодарен, сам немогу разобраться, что бы вы сделали если бы писали такую почтовыю форму. | Код | <?php function show_form() { ?> <form action="" method=post> <div align="center"> <table width="476" border="1" align="center" cellpadding="0" cellspacing="3" bordercolor="#e28856"> <tr> <td width="213">Ф.И.О.*</td> <td width="267"><input type="text" size="40" name="fio"></td> </tr> <tr> <td>Размещение</td> <td><select name="accommodation"> <option value="1-местное" selected>1-местное</option> <option value="2-местное">2-местное</option> </select></td> </tr> <tr> <td>Категория номера</td> <td><select name="cnumbers"> <option value="Стандартный номер Twin" selected>Стандартный номер Twin</option> <option value="Стандартный номер Queen">Стандартный номер Queen</option> <option value="Номер для инвалидов Twin">Номер для инвалидов Twin</option> <option value="Стандартный номер Super Queen">Стандартный номер Super Queen</option> <option value="Exclusive">Exclusive</option> </select></td> </tr> <tr> <td>Количество номеров</td> <td><input name="nrooms" type="text" size="2"></td> </tr> <tr> <td>Дата заезда</td> <td><select name="arrival_days"> <?php for($i=1; $i<=31; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select> <select name="arrival_months"> <?php for($i=1; $i<=12; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select> <select name="arrival_years"> <?php for($i=2008; $i<=2020; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select></td> </tr> <tr> <td>Дата выезда</td> <td><select name="departure_days"> <?php for($i=1; $i<=31; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select> <select name="departure_months"> <?php for($i=1; $i<=12; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select> <select name="departure_years"> <?php for($i=2008; $i<=2020; $i++) { ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php } ?> </select></td> </tr> <tr> <td>Наличие завтрака<br> (если не включен в стоимость)</td> <td><select name="breakfast"> <option value="Да" selected>Да</option> <option value="Нет">Нет</option> </select> </td> </tr> <tr> <td>Ваш город*</td> <td><input type="text" size="40" name="city"></td> </tr> <tr> <td valign="top">Трансфер</td> <td><select name="transfer"> <option value="Да" selected>Да</option> <option value="Нет">Нет</option> </select><br> Подробности о трансфере от аэропорта/вокзала до гостиницы и обратно Вы можете узнать у наших менеджеров</td> </tr> <tr> <td>Телефон/факс*<br> (c кодом города)</td> <td><input type="text" size="40" name="tel"></td> </tr> <tr> <td>E-mail*</td> <td><input type="text" size="40" name="email"></td> </tr> <tr> <td>Контактное лицо*</td> <td><input type="text" size="40" name="cont"></td> </tr> <tr> <td>Организация</td> <td><input type="text" size="40" name="organiz"></td> </tr> <tr> <td>Пожелания</td> <td><textarea name="testimonials" rows="5" cols="30"></textarea></td> </tr> <tr> <td>Форма оплаты</td> <td><select name="payment"> <option value="безналичная" selected>безналичная</option> <option value="наличная">наличная</option> </select></td> </tr> <tr> <td colspan="2"><div align="center"> <input type="submit" value="Забронировать номер" name="submit"> </div></td> </tr> </table> </div> </form> * Помечены поля, которые необходимо заполнить
<? } function complete_mail() {
$_POST['fio'] = substr(htmlspecialchars(trim($_POST['fio'])), 0, 50); $accommodation=Array('1-местное','2-местное'); if (empty($_POST['accommodation']) || !in_array($_POST['accommodation'], $accommodation)) die('Нет такого пункта!'); $cnumbers=Array('Стандартный номер Twin','Стандартный номер Queen','Номер для инвалидов Twin','Стандартный номер Super Queen','Exclusive'); if (empty($_POST['cnumbers']) || !in_array($_POST['cnumbers'], $cnumbers)) die('Нет такого пункта!');
$_POST['nrooms'] = substr(htmlspecialchars(trim($_POST['nrooms'])), 0, 2); $arrival_days=Array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'); if (empty($_POST['arrival_days']) || !in_array($_POST['arrival_days'], $arrival_days)) die('Нет такого пункта!'); $arrival_months=Array('1','2','3','4','5','6','7','8','9','10','11','12'); if (empty($_POST['arrival_months']) || !in_array($_POST['arrival_months'], $arrival_months)) die('Нет такого пункта!'); $arrival_years=Array('2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020'); if (empty($_POST['arrival_years']) || !in_array($_POST['arrival_years'], $arrival_years)) die('Нет такого пункта!'); $departure_days=Array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'); if (empty($_POST['departure_days']) || !in_array($_POST['departure_days'], $departure_days)) die('Нет такого пункта!'); $departure_months=Array('1','2','3','4','5','6','7','8','9','10','11','12'); if (empty($_POST['departure_months']) || !in_array($_POST['departure_months'], $departure_months)) die('Нет такого пункта!'); $departure_years=Array('2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020'); if (empty($_POST['departure_years']) || !in_array($_POST['departure_years'], $departure_years)) die('Нет такого пункта!');
$breakfast=Array('Да','Нет'); if (empty($_POST['breakfast']) || !in_array($_POST['breakfast'], $breakfast)) die('Нет такого пункта!'); $_POST['city'] = substr(htmlspecialchars(trim($_POST['city'])), 0, 20); $transfer=Array('Да','Нет'); if (empty($_POST['transfer']) || !in_array($_POST['transfer'], $transfer)) die('Нет такого пункта!'); $_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30); $_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 30); $_POST['cont'] = substr(htmlspecialchars(trim($_POST['cont'])), 0, 50); $_POST['organiz'] = substr(htmlspecialchars(trim($_POST['organiz'])), 0, 30); $_POST['testimonials'] = substr(htmlspecialchars(trim($_POST['testimonials'])), 0, 10000); $payment=Array('безналичная','наличная'); if (empty($_POST['payment']) || !in_array($_POST['payment'], $payment)) die('Нет такого пункта!'); // если не заполнено поле "ФИО" - показываем ошибку 0 if (empty($_POST['fio'])) output_err(0); // если не заполнено поле "Ваш город" - показываем ошибку 1 if (empty($_POST['city'])) output_err(1); // если не заполнено поле "Телефон/факс" - показываем ошибку 2 if (empty($_POST['tel'])) output_err(2); // если неправильно заполнено поле email - показываем ошибку 3 if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email'])) output_err(3); // если не заполнено поле "Контактное лицо" - показываем ошибку 4 if(empty($_POST['cont'])) output_err(4); // создаем наше сообщение $mess = ' ФИО:'.$_POST['fio'].' Размещение:'.$_POST['accommodation'].' Категория номера:'.$_POST['cnumbers'].' Колличество номеров:'.$_POST['nrooms'].' Дата заезда:'.$_POST['arrival_days'].' '.$_POST['arrival_months'].' '.$_POST['arrival_years'].' Дата выезда:'.$_POST['departure_days'].' '.$_POST['departure_months'].' '.$_POST['departure_years'].' Наличие завтрака:'.$_POST['breakfast'].' Город:'.$_POST['city'].' Трансфер:'.$_POST['transfer'].' Телефон:'.$_POST['tel'].' Контактное лицо:'.$_POST['cont'].' Организация:'.$_POST['organiz'].' Форма оплаты:'.$_POST['payment'].' Контактный email:'.$_POST['email'].' Написал Вам:'.$_POST['testimonials'];
// $to - кому отправляем $to = '[email protected]'; // $from - от кого $from='Просиба забронировать<www.kw2002.ru>'; mail($to, $_POST['cont'], $mess, "From:".$from); echo 'Спасибо! Ваше письмо отправлено.'; show_form();
}
function output_err($num) { $err[0] = 'ОШИБКА! Не введено ФИО.'; $err[1] = 'ОШИБКА! Вы не указали Ваш город.'; $err[2] = 'ОШИБКА! Вы не указали телефон/факс.'; $err[3] = 'ОШИБКА! Неверно введен e-mail.'; $err[4] = 'ОШИБКА! Вы не указали контактное лицо.'; echo '<p><font color="red">'.$err[$num].'</font></p>'; show_form(); exit(); }
if (!empty($_POST['submit'])) complete_mail(); else show_form(); ?>
|
Это сообщение отредактировал(а) ZuLLeR - 7.6.2008, 13:11
|