Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка почты 
V
    Опции темы
MrDmitry
Дата 16.10.2011, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Здравствуйте помогите допилить скрипт отправки сообщения на email


Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="http://radiorenclav.ru/style.css" type="text/css" />
</head>
<body>
<?php 
function show_form() 
{ 
?> 
<form action="" method=post> 
<p>
<p>
<b>Выберите событие:</b><br>
<select name="subj">
<option value="Vihod">Событие 1"
<option value="ferum">Событие 2
</select>
</p>
Количество : <input type="text" name="count" size="40"> 
<br /><br />
Телефон для связи <input type="text" name="phone" size="40"> 
<br /><br />
ICQ: <input type="text" name="icq" size="40"> 
<br /><br />
Комментарии: (как к Вам обращаться и т.д.)
<br /><br />
<textarea rows="10" name="mess" cols="30"></textarea> 
<br /><input type="submit" src="Отправить" name="submit"> 
</p>
</form> 
<? 
} 

function complete_mail() { 
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
        $_POST['count'] =  substr(htmlspecialchars(trim($_POST['count'])), 0, 50); 
        $_POST['phone'] =  substr(htmlspecialchars(trim($_POST['phone'])), 0, 50); 
        $_POST['icq'] =  substr(htmlspecialchars(trim($_POST['icq'])), 0, 50); 
        $_POST['subj'] =  substr(htmlspecialchars(trim($_POST['subj'])), 0, 50); 
        // создаем наше сообщение 
        $mess = ' 
Событие:: '.$_POST['subj'].' 
Количеств : '.$_POST['count'].' 
Телефон: '.$_POST['phone'].' 
ICQ: '.$_POST['icq'].' 
'.$_POST['mess']; 
        // $to - кому отправляем 
        $to = '[email protected]'; 
        // $from - от кого 
        $from='[email protected]'; 
        "MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251";
        mail($to, $_POST['subj'], $mess, "From:".$from); 
        echo 'Спасибо! Ваш заказ принят'; 
} 
                      
if (!empty($_POST['submit'])) complete_mail(); 
else show_form(); 
?> 
</p>
</body>
</html>


Этим скриптом письма отправляются. Но за место русских символов прихродят кракозябры. Сайт в кодировки utf-8
PM MAIL   Вверх
$дмитрий
Дата 16.10.2011, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Цитата

charset=windows-1251

Поменяй на charset=utf-8

Добавлено через 8 минут и 38 секунд
Была недавно похожая тема
PM MAIL   Вверх
MoLeX
Дата 17.10.2011, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(MrDmitry @  16.10.2011,  19:35 Найти цитируемый пост)
Сайт в кодировки utf-8 

Код

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">


вы сами себе противоречите 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MrDmitry
Дата 18.10.2011, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



смена кодировки на utf-8 не помогла. Сам скрипт сохранен также в кодировки UTF-8
PM MAIL   Вверх
MoLeX
Дата 19.10.2011, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



покажите как щас он у вас выглядит


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MrDmitry
Дата 21.10.2011, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Как выглядит кто? 
Сам скрипт?
Вот полный код

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
<html>
<head>                                    
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="http://radiorenclav.ru/style.css" type="text/css" />
</head>
<body>
<?php 
function show_form() 
{ 
?> 
<form action="" method=post> 
<p>
<p>
<b>Выберите событие:</b><br>
<select name="subj">
<option value="Выход">20 октября 2011 года: группа "Выход"
</select>
</p>
Количество заказываемых билетов: <input type="text" name="count" size="40"> 
<br /><br />
Телефон для связи <input type="text" name="phone" size="40"> 
<br /><br />
ICQ: <input type="text" name="icq" size="40"> 
<!-- <br /><br />
Комментарии: (как к Вам обращаться и т.д.)
<br /><br />
<textarea rows="10" name="mess" cols="30"></textarea>  -->
<br /><input type="submit" src="Отправить" name="submit"> 
</p>
</form> 
<? 
} 

function complete_mail() { 
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
        $_POST['count'] =  substr(htmlspecialchars(trim($_POST['count'])), 0, 50); 
        $_POST['phone'] =  substr(htmlspecialchars(trim($_POST['phone'])), 0, 50); 
        $_POST['icq'] =  substr(htmlspecialchars(trim($_POST['icq'])), 0, 50); 
        $_POST['subj'] =  substr(htmlspecialchars(trim($_POST['subj'])), 0, 50); 
        // создаем наше сообщение 
        $mess = ' 
Событие: '.$_POST['subj'].' 
Количество билетов: '.$_POST['count'].' 
Телефон: '.$_POST['phone'].' 
ICQ: '.$_POST['icq'].'
'.$_POST['mess']; 
        // $to - кому отправляем 
        $to = '[email protected]'; 
        // $from - от кого 
        $from='[email protected]'; 
        "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8";
        mail($to, $_POST['subj'], $mess, "From:".$from); 
        echo 'Спасибо! Ваш заказ принят. '; 
} 
                    
if (!empty($_POST['submit'])) complete_mail(); 
else show_form(); 
?> 
</p>
</body>
</html>


Письмо приходит так


Код

Событие: Ð’ыход 
КоличеÑтво билетов: 1 
Телефон: 7777777777777777777 
ICQ: 7777777777777777 



PM MAIL   Вверх
$дмитрий
Дата 21.10.2011, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Ошибка в скрипте
Код

$from='[email protected]'; 
        "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8";

Поменяй на
Код

$from="[email protected]".
"\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=utf-8";

PM MAIL   Вверх
MrDmitry
Дата 25.10.2011, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Огромное спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.