Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Кодировка письма (Help!)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
интернет работа
Отправлено: 13 Апреля, 2011 - 11:16:58
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2011  
Откуда: Кемерово


Помог: 0 раз(а)




Доброго дня.

Никак не могу решить проблему, уже прочел ни 1 форум. Проблема в следующее: на сайте установлена форма заказа/обратной связи, раньше письма приходили в нормальной кодировке, а с недавнего времени кодировка не определяется, и выводятся каракули. Сайт в UTF-8, скрипт отправки тоже. Программа «The Bat!» Помогите люди добрые…

Код скрипта:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. $name = $_POST['name'];
  4. $name2 = $_POST['name2'];
  5. $name3 = $_POST['name3'];
  6. $name4 = $_POST['name4'];
  7. $name5 = $_POST['name5'];
  8. $name6 = $_POST['name6'];
  9. $name7 = $_POST['name7'];
  10. $email = $_POST['email'];
  11. $icq = $_POST['icq'];
  12. $phone = $_POST['phone'];
  13. $article = $_POST['article'];
  14. $commentary = $_POST['commentary'];
  15.  
  16. $info1 = urldecode(getenv(QUERY_STRING));
  17. $info2 = urldecode(getenv(HTTP_REFERER));
  18. $info3 = getenv(REMOTE_ADDR);
  19. $info4 = getenv(HTTP_USER_AGENT);
  20. $info5 = getenv(HTTP_X_FORWARDED_FOR);
  21.  
  22. if (isset ($name))
  23. {
  24. $name = substr($name,0,150); //Не может быть более 150 символов
  25. if (empty($name))
  26. {
  27. echo "<center><b>Не указана ФИО!!!<p>";
  28. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  29. }
  30. }
  31. else
  32. {
  33. $name = "не указано";
  34. }
  35.  
  36. if (isset ($name2))
  37. {
  38. $name2 = substr($name2,0,6); //Не может быть более 6 символов
  39. if (empty($name2))
  40. {
  41. echo "<center><b>Не указан почтовый индекс!!!<p>";
  42. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  43. }
  44. }
  45. else
  46. {
  47. $name2 = "не указано";
  48. }
  49.  
  50. if (isset ($name3))
  51. {
  52. $name3 = substr($name3,0,100); //Не может быть более 100 символов
  53. if (empty($name))
  54. {
  55. echo "<center><b><p>";
  56. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  57. }
  58. }
  59. else
  60. {
  61. $name3 = "не указано";
  62. }
  63.  
  64. if (isset ($name4))
  65. {
  66. $name4 = substr($name4,0,100); //Не может быть более 100 символов
  67. if (empty($name4))
  68. {
  69. echo "<center><b>Не указан город (населенный пункт)!!!<p>";
  70. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  71. }
  72. }
  73. else
  74. {
  75. $name4 = "не указано";
  76. }
  77.  
  78. if (isset ($name5))
  79. {
  80. $name5 = substr($name5,0,100); //Не может быть более 100 символов
  81. if (empty($name5))
  82. {
  83. echo "<center><b>Не указана улица (проспект)!!!<p>";
  84. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  85. }
  86. }
  87. else
  88. {
  89. $name5 = "не указано";
  90. }
  91.  
  92. if (isset ($name6))
  93. {
  94. $name6 = substr($name6,0,50); //Не может быть более 50 символов
  95. if (empty($name6))
  96. {
  97. echo "<center><b>Не указан номер дома!!!<p>";
  98. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  99. }
  100. }
  101. else
  102. {
  103. $name6 = "не указано";
  104. }
  105.  
  106. if (isset ($name7))
  107. {
  108. $name7 = substr($name7,0,50); //Не может быть более 50 символов
  109. if (empty($name))
  110. {
  111. echo "<center><b><p>";
  112. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  113. }
  114. }
  115. else
  116. {
  117. $name7 = "не указано";
  118. }
  119.  
  120. if (isset ($phone))
  121. {
  122. $phone = substr($phone,0,50); //Не может быть более 50 символов
  123. if (empty($phone))
  124. {
  125. echo "<center><b>Не указан номер телефона!!!<p>";
  126. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  127. }
  128. }
  129. else
  130. {
  131. $phone = "не указано";
  132. }
  133.  
  134. if (isset ($icq))
  135. {
  136. $icq = substr($icq,0,15); //Не может быть более 15 символов
  137. if (empty($name))
  138. {
  139. echo "<center><b><p>";
  140. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  141. }
  142. }
  143. else
  144. {
  145. $icq = "не указано";
  146. }
  147.  
  148. if (isset ($email))
  149. {
  150. $email = substr($email,0,50); //Не может быть более 50 символов
  151. if (empty($name))
  152. {
  153. echo "<center><b><p>";
  154. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  155. }
  156. }
  157. else
  158. {
  159. $email = "не указано";
  160. }
  161.  
  162. if (isset ($article))
  163. {
  164. $article = substr($article,0,100); //Не может быть более 100 символов
  165. if (empty($name))
  166. {
  167. echo "<center><b><p>";
  168. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  169. }
  170. }
  171. else
  172. {
  173. $article = "не указано";
  174. }
  175.  
  176. if (isset ($quantity))
  177. {
  178. $quantity = substr($quantity,0,100); //Не может быть более 100 символов
  179. if (empty($name))
  180. {
  181. echo "<center><b><p>";
  182. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  183. }
  184. }
  185. else
  186. {
  187. $quantity = "не указано";
  188. }
  189.  
  190. if (isset ($insurance))
  191. {
  192. $insurance = substr($insurance,0,100); //Не может быть более 100 символов
  193. if (empty($name))
  194. {
  195. echo "<center><b><p>";
  196. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  197. }
  198. }
  199. else
  200. {
  201. $insurance = "не указано";
  202. }
  203.  
  204. if (isset ($commentary))
  205. {
  206. $commentary = substr($commentary,0,500); //Не может быть более 500 символов
  207. if (empty($name))
  208. {
  209. echo "<center><b><p>";
  210. echo "<a href=order.php>Вернуться и правильно заполнить форму.</a>";
  211. }
  212. }
  213. else
  214. {
  215. $commentary = "не указано";
  216. }
  217.  
  218. $i = "не указано";
  219. if ($name == $i AND $email == $i AND $article == $i)
  220. {
  221. echo "Ошибка ! Скрипту не были переданы параметры !";
  222. }
  223. $header = "Content-Type: text/plain; charset=utf-8";
  224. $to = "asa@maiil.ru";
  225. $subject = "Заказ";
  226. $message = "Фамилия Имя Отчество: $name
  227. Почтовый индекс: $name2
  228. Область: $name3
  229. Город (поселок): $name4
  230. Улица (проспект): $name5
  231. Дом: $name6
  232. Квартира: $name7
  233. E-mail: $email
  234. ICQ: $icq
  235. Телефон: $phone
  236. Наименование товара: $article
  237. Количество товара: $quantity
  238. Страховка: $insurance
  239. Комментарий: $commentary
  240. IP-адрес: $info5 // $info3 // боаузер: $info4";
  241. mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
  242. echo "<br><br><center><b>Спасибо за заказ!</b><br>";
  243. ?>

(Отредактировано автором: 13 Апреля, 2011 - 11:18:39)

 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Апреля, 2011 - 12:59:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




интернет работа пишет:
раньше письма приходили в нормальной кодировке, а с недавнего времени кодировка не определяется

Похоже на:
----------------------------
Спойлер (Отобразить)

----------------------------

Если вы так уверены что дело не в скрипте - пишите/звоните в поддержку хостинга.
 
 Top
интернет работа
Отправлено: 13 Апреля, 2011 - 13:36:51
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2011  
Откуда: Кемерово


Помог: 0 раз(а)




Я думаю дело в скрипте. В скрипте небыло строки 238, я ее сейчас добавил, но это не помогло.
 
 Top
интернет работа
Отправлено: 14 Апреля, 2011 - 14:03:09
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2011  
Откуда: Кемерово


Помог: 0 раз(а)




Неужели никто не поможет?
 
 Top
Albertino
Отправлено: 14 Апреля, 2011 - 14:36:48
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




интернет работа пишет:
Неужели никто не поможет?

Можно в $heder прописать следующие строки
CODE (htmlphp):
скопировать код в буфер обмена
  1. $header = "MIME-Version: 1.0\r\n";
  2. $header .= "Content-type: text/plain; charset=utf-8\r\n";
  3. $header .= "Subject: $subject\r\n";// прописать тему письма в heder
  4. $header .= "Content-type: text/plain; charset=utf-8\r\n";
  5. $header .= 'From: You <mail@domen.com>' . "\r\n" .
  6.                 'Reply-To: mail@domen.com' . "\r\n" .
  7.                 'X-Mailer: PHP/' . phpversion();

те надо прописать Content-type, затем Subject и снова Content-type.
ну а дальше как обычно
CODE (htmlphp):
скопировать код в буфер обмена
  1. mail ($to,$subject,$message, $header);

Была такая же проблема и мне помогло

(Отредактировано автором: 14 Апреля, 2011 - 14:39:25)

 
 Top
интернет работа
Отправлено: 16 Апреля, 2011 - 14:28:53
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2011  
Откуда: Кемерово


Помог: 0 раз(а)




Спасибо большое! Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB