Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форма обратной связи & кодировка!
 
 автор: UNKEL   (11.10.2008 в 23:29)   письмо автору
 
 

Прошу сочуствующих помочь настроить РНР обработчик формы обратной связи.
Работает все нормально за исключением проблем с кодировкой.

1. Отправляемые сообщения с сайта не поддерживают кирилицу.
2. Имя отправителя, e-mail адрес и текст сообщения приходят без разделителей, все в одной куче, как разделить?

Образец сообщения:

IGORtd-vladimir@narod.ruКонтактное лицо: специалист отдела сбыта ГОРШКОВ Р˜РіРѕСЂСЊ Леонидович 600026 РіРѕСЂРѕРґ Владимир, улица Тракторная, 35 tel: +7 930 8 303 602 fax: +7 4922 431 674 (РґРѕР±.26) icq: 386 180 264 E-mail: info@obtekatelopt.com


Код моего РНР обработчика:

<?

  $ip 
$REMOTE_ADDR;
  
$date date("d.m.Y");
  
  if (empty(
$_POST['Name']) || empty($_POST['Message']) || empty($_POST['Email'])) 

echo 
"Все поля обязательны для заполнения"
return; 
}

  
$info $_POST['Name'];
  
$info .= $_POST['Email'];
  
$info .= $_POST['Message'];
  
  
$send_to "info@obtekatelopt.com";             
  
$subject "=?windows-1251?B?".base64_encode("Сообщение с сайта ОбтекательОпт - $date")."?=";         
  
  
$headers "From: www.obtekatelopt.com\nX-Mailer: www.obtekatelopt.com\nContent-Type: text/html; charset=windows-1251 \r\n";
  
$headers .= "Reply-To: $email\n\n";
  
  
$send mail($send_to$subject$info$headers);
  if(
$send == 1)
  {
  
  print (
"<script language=JavaScript>window.alert('Отправлено $date, Мы обязательно свяжемся с вами');</script>");

  }
  else
  
  print (
"<script language=JavaScript>window.alert('Ошибка');</script>");
?>

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 00:10)   письмо автору
 
   для: UNKEL   (11.10.2008 в 23:29)
 

>2. Имя отправителя, e-mail адрес и текст сообщения приходят без разделителей, все в одной куче, как разделить?

Вот так:
<? 
  $info 
$_POST['Name']." "
  
$info .= $_POST['Email']." "
  
$info .= $_POST['Message'];


>1. Отправляемые сообщения с сайта не поддерживают кирилицу.
а какая у файла кодировка?

Вы скрипт сами писали? (чтоб не обидеть невзнвчай)

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 00:19)   письмо автору
 
   для: Николай2357   (12.10.2008 в 00:10)
 

Никаких обид, если честно Я ТЕМНЫЙ В "ПХП".

Собрал данный код из кусков других ПХП обработчиков методом тыка, занимаюсь этим кодам с перерывами аж с июля месяца, никак довести до ума не могу.

Заранее, максимально признателен всем оказавшим помощь в данном вопросе!

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 00:32)   письмо автору
 
   для: UNKEL   (12.10.2008 в 00:19)
 

Ну давайте тогда по порядку. Пока время есть у меня.
Вот скажите, зачем пугаете юзера алертом? К тому же при любом раскладе Вы оставите его один на один с пустым экраном. Это не есть хорошо.
Дальше. Мало мальскую валидацию данных надо бы сделать.
С кодировками не понятно, я запустил скрипт, все нормально получилось.
Вообще, если так нужна почта, щас пороюсь, где то был скрипт. Или Вам интересно свой до ума довести?

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 00:48)   письмо автору
 
   для: Николай2357   (12.10.2008 в 00:32)
 

На самом деле хотел доделать свой, с июля над ним тружусь, да и ктому же он привязан к ворме на сайте (а эта привязка очень сложно далась).

Алерт - сложно, не знаю...
Валидация - надеюсь не матерное слово...
На счет: оставляю пользователя один на один с пустым экраном - понимаю что плохо, но ничего поделать немогу, главное чтобы форма работала.
Понимаю что плохо, но это все второстепенное.

Основное это кодировка, даже сообщения от заказчиков могу в куче читать, шишь бы они доходили (что уже решено) и в кирилице!!!

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 00:56)   письмо автору
 
   для: UNKEL   (12.10.2008 в 00:48)
 

Ну форма здесь вообще не при чем. Это же обработчик. А форма на html странице или php?

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 01:06)   письмо автору
 
   для: Николай2357   (12.10.2008 в 00:56)
 

Форма на HTML, вот ее код:

<form id="form" name="form" method="post" action="send.php" enctype="multipart/form-data" target="_blank">
                                <table height="261" cellpadding="0" cellspacing="0" class="form1">
                                  <tr>
                                    <td  style="width:200px; height:44px">
                                        Ваше Имя:<br>
                                        <input name="Name" type="text" id="Name"  /></td>
                                  </tr>
                                  <tr>
                                    <td  style="width:200px; height:46px">
                                        Ваш E-mail:<br>
                                        <input name="Email" type="text" id="Email" />                                    </td>
                                  </tr>
                                  <tr>
                                    <td  style="width:200px; height:154px">
                                        Сообщение:<br>
                                      <textarea name="Message" type="text" cols="0" rows="0" id="Message"></textarea>                                     </td>
                                  </tr>
                                  <tr>
                                    <td height="37"  style="width:200px; height:17px">
                                      <img src="images/spacer.gif"  alt="" width="60" height="1"><a href="#" onClick="document.getElementById('form').reset()">очистить</a><img src="images/spacer.gif" alt="" width="34" height="1"><a href="#" onClick="document.getElementById('form').submit()">отправить</a></td>
                                  </tr>
                                </table>
                            </form>


На всякий случай страница с формой здесь: http://www.obtekatelopt.com/index-5.html

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 01:15)   письмо автору
 
   для: UNKEL   (12.10.2008 в 01:06)
 

Я почему спросил... На php проще на много сделать. Ну да ладно. Один момент.

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 03:19)   письмо автору
8.7 Кб
 
   для: Николай2357   (12.10.2008 в 01:15)
 

Ну вот, кажется так. ========================================================>

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 12:05)   письмо автору
57.9 Кб
 
   для: Николай2357   (12.10.2008 в 03:19)
 

К сожалению вот что получается -------------->>>>
Сейчас буду пробовать исправить, по результатам отпишусь!

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 12:16)   письмо автору
 
   для: UNKEL   (12.10.2008 в 12:05)
 

Не надо ничего исправлять. Вы .htaccess поставли? Может я не тот сунул с просонок... Щас посмотрю.
В .htaccess напишите
Options +ExecCGI
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
ErrorDocument 404 /404.html
AddDefaultCharset UTF-8
и все получится.

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 17:43)   письмо автору
57.9 Кб
 
   для: Николай2357   (12.10.2008 в 12:16)
 

Отправляется с вашей страницы просто супер, но у меня даже до отправки не доходит, сама страница выглядит так как на вложенном файле. Отправить с нее не возможно. Пути все проверил все вроде бы так. Только не нашел где .htaccess прописан, куда его нужно поставить?. Все файлы по умолчанию в одной папке расположены?

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 18:16)   письмо автору
8.7 Кб
 
   для: UNKEL   (12.10.2008 в 17:43)
 

Вот так как есть положите в корневую деррикторию и проверьте. Если все норм, можете картинки по папкам рассовать и пути поправить. ===============>

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 18:29)   письмо автору
 
   для: Николай2357   (12.10.2008 в 18:16)
 

ОГРОМНОЕ спасибо за помощь и за потраченное время! НО видимо не судьба.
Весь код РНР вылазит на страницу, как на ранее выложенном скриншоте.

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 18:31)   письмо автору
 
   для: UNKEL   (12.10.2008 в 18:29)
 

Вот Вы с июля месяца возитесь, а тут за полчаса сдулись... Все получится, не надо руки опускать. Щас что нибудь придумаю.
Вы где проверяете, на хостинге или дома?

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 18:44)   письмо автору
 
   для: Николай2357   (12.10.2008 в 18:31)
 

С июля так и вожусь, два-три дня поделаю, и отнюдь! Оставлю на пару недель, потом снова.

Отправку с формы проверяю закачав необходимые файлы на свой хостинг.
А относительно последнего моего скриншота, это отображение страницы offline, здесь естественно загрузка файлов на хостинг не поможет

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 18:51)   письмо автору
 
   для: UNKEL   (12.10.2008 в 18:44)
 

Попробуйте напрямую открыть sendmail.php Такое ощущение, что php у Вас не исполняется.
Аська есть? Стучите - у меня в профиле.

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 19:04)   письмо автору
 
   для: Николай2357   (12.10.2008 в 18:51)
 

У вас код работает идеально, пробовал перейдя по вашей ссылке, а у меня сейчас проблема даже не в том что не исполняется РНР, а в том что вес код вылазит на страницу, может какого-то скрипта нехватает, вы когда писали код, программа типа Dreamweaver сама может добавлять в папку где размещен редактируемы html файл, какие либо скрипты либо библиотеки, а я простым копированием файлов этого сделать немогу. Допустим во всех файлах, которые вы мне прислали искал путь к файлу .htaccess, но он как ни странно ни где не прописан, вот тут то видимо и задействованы какие то отсутствующие у меня скрипты или библиотеки.

Вобщем я тупо взял из вашего sendmail.php фрагмент кода с иной чем у меня кодировкой, и фрагмент кода с разделением строк в приходящем письме.
И .... мой РНР обработчик начал работать, почта приходит, все читаемо!

Еще раз огромное спасибо за оказанную помощь!

  Ответить  
 
 автор: Николай2357   (12.10.2008 в 19:10)   письмо автору
 
   для: UNKEL   (12.10.2008 в 19:04)
 

Путей до .htaccess не бывает, это файл настройки сервера. Все там правильно и все файлы есть. Вы может не все или не так заливаете. Код вылазит потому, что файл sendmail.php не исполняется. Скорее всего что то со штакесом и есть. Стучите в аську, ненавижу незавершенных дел.

  Ответить  
 
 автор: UNKEL   (12.10.2008 в 20:51)   письмо автору
 
   для: Николай2357   (12.10.2008 в 19:10)
 

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

Огромное спасибо за помощь и в частности за отзывчивость.!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования