Шустрый

Профиль
Группа: Участник
Сообщений: 89
Регистрация: 5.6.2008
Репутация: нет Всего: нет
|
Есть код обработчика формы, на почту приходит текст каракулями, как в данном случае решить эту проблему с кодировкой? Код: Код | <? 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('01','02','03','04','05','06','07','08','09','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('01','02','03','04','05','06','07','08','09','10','11','12'); if (empty($_POST['arrival_months']) || !in_array($_POST['arrival_months'], $arrival_months)) die('Нет такого пункта!');
$arrival_years=Array('2009','2010','2011','2012','2013','2014','2015'); if (empty($_POST['arrival_years']) || !in_array($_POST['arrival_years'], $arrival_years)) die('Нет такого пункта!');
$departure_days=Array('01','02','03','04','05','06','07','08','09','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('01','02','03','04','05','06','07','08','09','10','11','12'); if (empty($_POST['departure_months']) || !in_array($_POST['departure_months'], $departure_months)) die('Нет такого пункта!');
$departure_years=Array('2009','2010','2011','2012','2013','2014','2015'); 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>'; $headers = "Content-type: text/plain; charset=windows-1251"; mail($to, $_POST['cont'], $mess, "From:".$from, $headers);
echo '<br><br><br><p align="center"><strong><h1>Спасибо! Ваше письмо отправлено.</h1><br><br> через 5 секунд Вы автоматически будете перекинуты на главную страницу сайта. </strong></p>'; echo ('<html><head> <meta http-equiv="content-type" content="text/plain; charset=windows-1251"> <meta http-equiv="refresh" content="5; url=http://www.kw2002.com/"> </head></html>'); }
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>'; exit(); }
if (!empty($_POST['submit'])) complete_mail(); ?>
|
|