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
Форумы портала PHP.SU :: Версия для печати :: маленький вопросик по php-коду
Форумы портала PHP.SU » PHP » Программирование на PHP » маленький вопросик по php-коду

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

1. sasha - 21 Декабря, 2006 - 19:57:11 - перейти к сообщению
Почему при выполнении следующего php -кода мне приходит не текст а какой то-код(Поле name. Значение:
---------------------------
форма обработана
Поле name. Значение:
саша
Поле adres. Значение:

Поле email. Значение:

Поле zakaz. Значение:
----------------------
Вот php-код
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  
  5. $email = "vipgroup2006@mail.ru";
  6.  
  7.  
  8. $subj  = "привет!пришел вопрос!";
  9.  
  10.  
  11. $ToEmail = $HTTP_POST_VARS['TOEMAIL'];
  12.  
  13.  
  14.  
  15. $headers = "Content-type: text/plain; charset=windows-1252 rn";
  16.  
  17. $msg = "форма обработана rn";    
  18.  
  19. foreach($ToEmail as $key=>$val) $msg .= "Поле ".htmlspecialchars($key).". Значение:
  20. ".htmlspecialchars($val)."rn";
  21.  
  22. mail($email, $subj, $msg, $headers);
  23.  
  24. if  ( !defined ( 'S_MOD' ) )  {
  25. echo "<meta http-equiv='refresh' content='0; url=/zakaz1.htm'>";
  26. }
  27. ?>
2. -SCHATTEN- - 22 Декабря, 2006 - 00:43:07 - перейти к сообщению
может ты просто неправильно выбрал кодировку, и это просто замененные русские буквы, у меня такая проблема была в Dreamweaver. он тоже мне все русские буквы кодами заменял.
3. Санек Че - 12 Января, 2007 - 10:56:53 - перейти к сообщению
А в какой кодировке приходит сообщения?
4. valenok - 14 Января, 2007 - 09:26:15 - перейти к сообщению
$headers = "Content-type: text/plain;" ."\r\n";
$headers. = "charset=windows-1252" ."\r\n";

И что приходит?

А кириллица это 1251
5. f0rm4t - 14 Января, 2007 - 13:08:04 - перейти к сообщению
Да не в кодировке дело! Читай мануал: http://ru.php.net/function.htmlspecialchars
6. evgenijj - 14 Января, 2007 - 15:07:04 - перейти к сообщению
Я сам с этой проблемой не сталкивался, но слышал о ней. Что-то с кодировками. Эта проблема описана здесь
http://phpclub[dot]ru/faq/encodings/encodings4
К сожалению, этот раздел сейчас закрыт на профилактику, но можно посмотреть сохраненную копию на Yandex
Цитата:
Почему после субмита формы все данные приходят в виде & #1048;?
Такое происходит, если поля формы заполненны символами, отсутствующими в текущей кодировке страницы. Например, CHARSET у страницы указывает Windows 1252, а в форму вы вводите русские буквы. Браузер не может передать введенное правильно, потому что в указанной кодировке отсутствуют русские символы. Подобное кодирование помогает сохранить ваши данные в том виде, в каком вы их ввели. Символы зашифрованы в кодировке UNICODE. Про дешифрацию смотрите в одном из разделов данного FAQ.

АБВГ будут представлены & #1040;& #1041;& #1042;& #1043;
Да еще функция htmlspecialchars() вносит свой вклад, заменяя амперсанды.

 

Powered by ExBB FM 1.0 RC1