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

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

1. Роман161 - 10 Марта, 2011 - 19:42:25 - перейти к сообщению
Сайт весь на кодировке UTF-8, и на этой кодировке не раотает данный скрипт:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $url = "contact.php"; //Ваша страница, где вы будете ставить форму обратной связи.
  3. $title = "lastrada-rostov.ru"; //адрес вашего сайта
  4. $subject = "Письмо с сайта $title"; //Тема отпровляемых вам сообщений
  5. $admail = "11111111111"; //Ваш e-mail, на который будут отправляться письма
  6. $back = "<p><a href=\"javascript: history.back()\">Назад</a></p>";
  7.  
  8. if(@$_POST['nick'] or @$_POST['email'] or @$_POST['delivery'] or @$_POST['msg'])
  9. {
  10. @$nick = $_POST['nick'] or die("Убедитесь, что вы ввели свое имя!$back");
  11. @$email = $_POST['email'] or die("Убедитесь, что вы ввели свой E-mail!$back");
  12. @$delivery = $_POST['delivery'] or die("Убедитесь, что вы ввели тему сообщения!$back");
  13. @$msg = $_POST['msg'] or die("Убедитесь, что вы ввели сообшение!$back");
  14.  
  15.  
  16.  
  17. if(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
  18. {
  19. echo "Убедитесь, что вы ввели корректный E-mail!$back";
  20. }
  21.  
  22. $content = "\nПользователь $nick!\n
  23. Адресс: $email\n
  24. Отправил(а) вам письмо с сайта - \"$title\"\n
  25. Тема - $delivery, со следующим содержанием:\n\n$msg";
  26. if(!@mail($admail, $subject, $content))
  27. {
  28. echo "Ошибка при отправке письма. Пожалуйста сообщите об этом администратору данного сайта, используя любой другой вид связи.$back";
  29. }
  30. else
  31. {
  32. echo "Ваше сообщение успешно отправлено!<Br> Вы получите ответ в ближайшее время ";
  33. echo "<meta http-equiv=\"refresh\" content=\"1;URL=$url\">";
  34. }
  35. }
  36. else {
  37. die("Для отправки сообщения заполните все поля!$back");
  38. }
  39. ?>

Если меняю кодировку UTF-8 на кодировку windows-1251, то весь сайт в символах непонятных, а раздел Ответы на вопросы нормально. Помогите, как исправить?
2. demot - 10 Марта, 2011 - 20:17:57 - перейти к сообщению
Судя по исходному коду, сайт написан в UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
А ответы на вопросы в windows-1251
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

Так что сохрани эту страницу в UTF-8 и в заголовке тоже поменяй на UTF-8
3. Роман161 - 11 Марта, 2011 - 08:51:39 - перейти к сообщению
А как сохранить в UTF-8, и где именно в коде поменять на UTF-8?
4. Noganno - 11 Марта, 2011 - 09:53:48 - перейти к сообщению
Для перекодирования в UTF8 попробуйте свой файл открыть в программе Notepad++ там во вкладке кодировки, выбираете нужную вам
5. Роман161 - 11 Марта, 2011 - 11:19:12 - перейти к сообщению
Спасибо большое, всё получилось!)
6. JustUserR - 12 Марта, 2011 - 11:28:32 - перейти к сообщению
Роман161 пишет:
И на этой кодировке не раотает данный скрипт:
Основной причиной в силу которой осуществление корректного функционирования предполагаемого PHP-приложение не производилось, является несопоставление параметров кодовой таблицы и элементного уровня трактования, используемых при передачи вводимых пользователем информационных полей в HTML-форму, поскольку обеспечение кодирование соответственных данных в потоке инициации запроса в целевому PHP-приложение осуществляется по умолчанию в соответсвии с текущей используемой кодовой таблицей на отображаемой клиетской web-странице, относительно уровня информационного трактования расположения ее элементов во вложенном потоке исполнения; в качестве возможного альтернативного решеня предполагаемой задачи, допустимо включение конфигурации web-сервера в области параметров Content Negotiation, позволяющих осуществить мануальное определение кодовой таблицы для трактования полученных информационных полей
7. Роман161 - 12 Марта, 2011 - 12:36:04 - перейти к сообщению
Спасибо)
8. JustUserR - 12 Марта, 2011 - 12:47:52 - перейти к сообщению
Роман161 пишет:
Спасибо)
Пожалуйста! Более подробная информация по предполагаемому вопросу предоставлена здесь http://httpd[dot]apache[dot]org/docs/cur[dot][dot][dot]negotiation[dot]html

 

Powered by ExBB FM 1.0 RC1