ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проблема отправки письма на русском через форму
  #1  
Старый 17.02.2009, 18:52
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию Проблема отправки письма на русском через форму

Значит имеется вот такая форма:


Код:
<!-- TITLE: Отправка запроса -->

<script LANGUAGE="JavaScript">
<!-- 

function validate() {

var error = "";
var f = document.frm;

if (f.name.value == "") {
  error += "Пожалуйста введите Ваше имя, отчество, чтобы мы смогли обращаться к Вам персонально.\n";
}
if(f.email.value.indexOf(".")<1 || f.email.value.indexOf("@") < 1) {
  error += "Введите Ваш email.\n";
  f.email.focus();
}
if (f.comments.value == "") {
  error += "Задайте вопрос до 1000 символов.\n";
}

  if (!error) return true;
  else{
    msg = "Извините! Произошла ошибка в отправке.\n\n" + error;
    window.alert(msg);
    return false;
  }
}

function CommentsChange(){
  var f = document.frm;
  txtCount(f.comments,f.commentsleft,1000);
}

// -->
</script>

<p class=pagetitle>Обращение к администрации Украинского бизнес-портала</p>

<b>Поля, маркированные жирным шрифом обязательны</b>

<form name=frm method="POST" onSubmit="return validate();">

<input type=hidden name=page value="feedback">

<span class=err>##err_msg##</span>

<p>

<table border=0 cellspacing=0 cellpadding=0 width=415>

<tr><td align="right" valign="top"><b>Имя:</b>&nbsp;&nbsp;</td>

<td><input name=name value="##name##" size="30"></td></tr>


<tr><td>&nbsp;</td><td>&nbsp;Ваше полное имя.</td></tr>

<tr><td colspan=2>&nbsp;</td></tr>

<tr><td align="right" valign="top"><b>Email:</b>&nbsp;&nbsp;</td>

<td><input name=email value="##email##" size=30></td></tr>


<tr><td>&nbsp;</td><td>&nbsp;Email</td></tr>

<tr><td colspan=2>&nbsp;</td></tr>

<tr><td align="right" valign="top">Ваш сайт:&nbsp;&nbsp;</td>
<td><input name=url value="##url##" size=30></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;Адрес сайта  (выборочно)</td></tr>

<tr><td colspan=2>&nbsp;</td></tr>


<tr><td align="right" valign="top">Заинтересовало:&nbsp;&nbsp;</td>
<td><input name=foundus value="##foundus##" size=30></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;Что представляет интерес для Вас на портале?</td></tr>

<tr><td colspan=2>&nbsp;</td></tr>


<tr><td align="right" valign="top"><b>Текст запроса:</b>&nbsp;&nbsp;</td>
<td><textarea wrap="virtual" name=comments rows=7 cols=40 onKeyDown="CommentsChange()" onKeyUp="CommentsChange()">##comments##</textarea>
</td></tr>

<tr><td>&nbsp;</td><td>&nbsp;Введите сообщение, 
<input readonly type=text name=commentsleft size=3 maxlength=4 value="1000" tabindex=5000>
 символов осталось</td></tr>

<tr><td colspan=2>

<!-- IF ##EN_IMG_VER## -->

<table border=0>
<tr bgcolor="#ffffff">
<td colspan=3 class=txt8>
Мера предосторожности: <br>
Введите символы на рисунке. 
</td>
</tr>

<tr bgcolor="#ffffff">
<td><b>Проверочный код:</td>
<td colspan=2>

<table border=0>
<tr>
<td>
<input name="img_text" size=20>
</td>
<td>
<img src="index.php?page=feedback&mode=image">
</td>
</tr>
</table>

</td>
</tr>
</table>
<!-- ENDIF -->

</td></tr>

<tr><td colspan=2 align=center><br />


<table width="100%">
<tr><td>
<center>
Отправка данной формы регламентирована <a href="index.php?page=extra&pg=terms">Условиями портала</a>
<p>

<center><input type=submit class=button value="Отправить"></a></center></td></tr></table>

</td></tr>
</table>

</form>

<script>
CommentsChange();
</script>

Ввожу текст на аглицком - все работает, на русском болт!

Советовали iconv использовать! Не знаю как и куда его вставить в пхп скрипт!

Последний раз редактировалось serg-php; 17.02.2009 в 18:55..
 
Ответить с цитированием

  #2  
Старый 17.02.2009, 19:01
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

бгг... надо в хидере письма правильно указать кодировку - соответствующую кодировке страницы.

зы как это сделать на пхп не знаю ...

PHP код:
<?php
    $body 
"<html>\n";
    
$body .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#666666;\">\n";
    
$body $message;
    
$body .= "</body>\n";
    
$body .= "</html>\n";
   
    
$headers  "From: My site<noreply@my_site.com>\r\n";
    
$headers .= "Reply-To: info@my_site.com\r\n";
    
$headers .= "Return-Path: info@my_site.com\r\n";
    
$headers .= "X-Mailer: Drupal\n";
    
$headers .= 'MIME-Version: 1.0' "\n";
    
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
   
    return 
mail($recipient$subject$message$headers);
?>
$headers .= 'Content-type: text/html; charset=iso-8859-1' .

вот на эту строку смотрим внимательно.

Последний раз редактировалось geezer.code; 17.02.2009 в 19:08..
 
Ответить с цитированием

  #3  
Старый 19.02.2009, 00:04
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию

Спасибо! Сейчас действительно посмотрю, в какой оно кодировке действительно пишет!

Это в теле письма, при запуске на денвере:

PHP код:
Content-Transfer-Encoding8bit
Content
-Typetext/plaincharset="windows-1251" 

Последний раз редактировалось serg-php; 19.02.2009 в 00:07..
 
Ответить с цитированием

  #4  
Старый 19.02.2009, 00:41
[JavaScript]
Познающий
Регистрация: 14.02.2009
Сообщений: 45
Провел на форуме:
96296

Репутация: 74
По умолчанию

Цитата:
при запуске на денвере:
Вот именно... Советую скрипты, которые используют интернет (особенно Е-мейл) заливать на хостинг, либо на Apache Web Server.
 
Ответить с цитированием

  #5  
Старый 21.02.2009, 12:25
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию

А в этом есть принципиальное оличие?
 
Ответить с цитированием

  #6  
Старый 21.02.2009, 13:26
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

Репутация: 392
Отправить сообщение для Zedi с помощью ICQ
По умолчанию

Отличия нету, на денвере эмулятор sendmail, сиди спокойно)
 
Ответить с цитированием

  #7  
Старый 21.02.2009, 15:12
fatalo
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
Провел на форуме:
2591223

Репутация: 128
Отправить сообщение для fatalo с помощью ICQ
По умолчанию

serg-php,денвер тебе не даст выпустить письмо за пределы твоего компа.Все письма он аккуратно складывает в отдельную папку
 
Ответить с цитированием

  #8  
Старый 21.02.2009, 15:30
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

Репутация: 392
Отправить сообщение для Zedi с помощью ICQ
По умолчанию

Ну для работы скрипта не подойдет, а для проверки и отладки самое то
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Читаем чужие письма на mail.ru через сессии petrovich-lamer Комментарии к видео 5 24.04.2005 15:55



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ