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

Форум PHP

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

 

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

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

тема: Проектирование сайта
 
 автор: sevidi   (28.08.2009 в 13:01)   письмо автору
 
 

Уважаемый Игорь Вячеславович!
Запустил в работу сайт созданный по Вашей методике. Его адрес www.sevidi.ru. Все работает четко. Но одна проблема существует. Это в блоке Администрирование-Почтовые рассылки. Первоначально они были запрограммированы на кодировку koi8-r и в этой же кодировке приходили получателю, например "Тест" отображался как "фЕУФ" и в заголовке и в тексте письма. Когда была изменена кодировка на cp1251 был тот же результат. Почтовй сервер работает с кодировкой cp1251. В файле кодировка находится в двух переменных $body и $header. При установке cp1251 в $body и koi8-r в $header заголовок отображается правильно текст нет. Другие комбинации результата тоже не дали.
Вот код скрипта. Помогите разобраться.

<?php 
 
// Выставляем уровень обработки ошибок 
 
  
error_reporting(E_ALL & ~E_NOTICE);

  
// Устанавливаем соединение с базой данных
  
require_once("../../config/config.php");
  
// Подлкючаем блок авторизации
  
require_once("../utils/security_mod.php");
  
// Подключаем функцию обработки текста 
  
require_once("../utils/utils.print_page.php");

  
// Формируем письмо
  
$body '
<html>
<head>
<title>Новости Web-портала Sevidi</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=cp1251\">
<style>
li {
    list-style-image: url(dataimg/optdot_prd.gif);
    list-style-type: square;
}

.in_input {
    font-family: Tahoma;
    font-size: 11px;
    color: #000000;
    background-color: #FFFFFF;
    border: 1px solid #B20000;
}

.in_button {
    font-family: Tahoma;
    font-size: 11px;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #FF0000;
    border: 1px solid #880000;    
}

.menu1_txt {
    font-family: Tahoma;
    font-size: 12px;
    font-weight: bold;
    color: #FFFFFF;
}

.menu1_txt_lnk {
    color: #FFFFFF;
    text-decoration: none;
}

.menu1_txt_lnk:hover {
    color: #CCCCCC;
}


.menu1s_txt {
    font-family: Tahoma;
    font-size: 11px;
    font-weight: bold;
    color: #FFFFFF;
    padding-right: 5px;
}

.menu1s_txt_lnk {
    color: #FFFFFF;
    text-decoration: none;
}

.menu1s_txt_lnk:hover {
    color: #B20000;
}


.menu2_txt {
    font-family: Tahoma;
    font-size: 11px;
    color: #000000;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.menu2_txt_lnk {
    color: #B20000;
    text-decoration: none;
}

.menu2_txt_lnk:hover {
    color: #00023E;
}

.menu2_ttl {
    font-family: Tahoma;
    font-size: 12px;
    font-weight: bold;
    color: #00023E;
    padding-left: 15px;    
}

.menu2_ttl_lnk {
    color: #00023E;
    text-decoration: none;
}

.menu2_ttl_lnk:hover {
    color: #B20000;
}

.main_ttl {
    font-family: Tahoma;
    font-size: 12px;
    font-weight: bold;
    color: #00023E;
    padding-left: 10px;    
}

.main_txt {
    font-family: Tahoma;
    font-size: 11px;
    text-align: justify; 
    color: #000000;
    padding-top: 5px;
    padding-bottom: 5px;
}

.main_txt_lnk {
    color: #B20000;
    text-decoration: none;
}

.main_txt_lnk:hover {
    color: #00023E;
}

.news_ttl {
    font-family: Tahoma;
    font-size: 12px;
    font-weight: bold;
    color: #00023E;
    padding-left: 10px;    
}

.news_txt {
    font-family: Tahoma;
    font-size: 11px;
    text-align: left; 
    color: #000000;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.news_txt_lnk {
    color: #B20000;
    text-decoration: none;
}

.news_txt_lnk:hover {
    color: #00023E;
}

.signature_txt {
    font-family: Tahoma;
    font-size: 11px;
    color: #FFFFFF;
    padding-right: 5px;
}

.signature_txt_lnk {
    color: #FFFFFF;
    text-decoration: none;
}

.signature_txt_lnk:hover {
    color: #B20000;
}

.product_ttl {
    font-family: Tahoma;
    font-size: 12px;
    font-weight: bold;
    color: #B20000;
    padding-bottom: 5px;
}

.product_txt {
    font-family: Tahoma;
    font-size: 11px;
    text-align: left;
    color: #000000;
    padding-top: 5px;
    padding-bottom: 5px;
}

.product_txt_lnk {
    color: #B20000;
    text-decoration: none;
}

.product_txt_lnk:hover {
    color: #00023E;
}

.table1_txt {
    font-family: Tahoma;
    font-size: 11px;
    color: #00023E;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.table1_txt_lnk {
    color: #00023E;
    text-decoration: none;
}

.table1_txt_lnk:hover {
    color: #00023E;
    text-decoration: underline;
}

.table1_tr_ttl_clr {
    background-color: #FF0000;
}

.table1_tr_clr1 {
    background-color: #F6F6F6;
}

.table1_tr_clr2 {
    background-color: #EEEEEE;
}
</style>
</head>
<body style="padding: 5px;">'
;
  
$header "Content-Type: text/html; charset=cp1251\r\n\r\n";
  
$body .= "<h3>{$form->fields[name]->value}</h3>";
  
$body .= "<div class=main_txt>".nl2br(print_page($form->fields['body']->value));
  
$body .= "</div></body></html>";

 

  
// Извлекаем e-mail подписчиков
  
$query "SELECT * FROM $tbl_users
            GROUP BY email"
;
  
$eml mysql_query($query);
  if(!
$eml)
  {
    throw new 
ExceptionMySQL(mysql_error(), 
                             
$query,
                            
"Ошибка при извлечении
                             списка e-mail"
);
  }
  if(
mysql_num_rows($eml))
  {
    while(
$email mysql_fetch_array($eml))
    {
       @
mail($email['email'],
             
convert_cyr_string($form->fields['name']->value,'w','k'), 
             
convert_cyr_string($body,'w','k'), 
             
$header);
    }
  }

?>

  Ответить  
 
 автор: Commander   (28.08.2009 в 13:33)   письмо автору
 
   для: sevidi   (28.08.2009 в 13:01)
 


<?php
$header 
"Content-Type: text/html; charset=cp1251\r\n\r\n"
?>


неправильно, правильно так:

<?php
$header 
"Content-Type: text/html; charset=windows-1251\r\n\r\n"
?>


P.S. Я, конечно, не cheops, но надеюсь что помог.

  Ответить  
 
 автор: sevidi   (28.08.2009 в 13:59)   письмо автору
 
   для: Commander   (28.08.2009 в 13:33)
 

К сожалению не помогло. Эта комбинация тоже использовалась.

  Ответить  
 
 автор: Trianon   (28.08.2009 в 14:02)   письмо автору
 
   для: sevidi   (28.08.2009 в 13:59)
 

так а преобразование convert_cyr_string($body,'w','k'), Вы убрать пробовали?

  Ответить  
 
 автор: insy   (28.08.2009 в 15:00)   письмо автору
 
   для: Trianon   (28.08.2009 в 14:02)
 

...

  Ответить  
 
 автор: sevidi   (28.08.2009 в 15:19)   письмо автору
 
   для: Trianon   (28.08.2009 в 14:02)
 

Пробовал. Выдало: Content-Type: text/html; charset=windows-1251

  Ответить  
 
 автор: Trianon   (28.08.2009 в 15:34)   письмо автору
 
   для: sevidi   (28.08.2009 в 15:19)
 

эдак Вы не только преобразование, но и весь параметр с телом сообщения убрали.
нужно было оставить $body,

  Ответить  
 
 автор: sevidi   (28.08.2009 в 15:58)   письмо автору
 
   для: Trianon   (28.08.2009 в 15:34)
 

Убрал и получил пустую строку.

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

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