Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблема с кодировкой в форме обратной связи / 5 сообщений из 5, страница 1 из 1
13.11.2013, 17:19
    #38463773
fobster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в форме обратной связи
если обычная форма обратной связи, со строками Ваше имя, Ваша эл.почта, Сообщение и кнопкой Отправить. Но получается такой текст:

Пользователь: ?????????
с email адресом: index@yandex.ru
Отправил сообщение:
????

вот код:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8"/>
</head>
<body>
<!-- Начало формы -->
mailform.html
<style type="text/css">
@import url("/feedbackform.css");
</style>
<script type="text/javascript" src="/feedbackform.js"></script>
<div id="formBody"><div id="formHeader">Обратная связь</div>
<form action="/sendmail.php" method="post" id="callbackForm"><div class="input-header">Ваше имя</div><input type="text" maxlength="100" name="name" id="name" class="formBodyInput" /><div class="input-header">Ваша эл.почта</div><input type="text" maxlength="100" name="email" id="email" class="formBodyInput" /><div class="input-header">Сообщение</div><textarea name="msg" id="msg" ></textarea></form><div style="margin-left:10px; margin-right: 10px; margin-bottom: 10px; margin-top: 4px;"><button onclick="sendEMail()" style="margin-top: 6px;">Отправить</button></div></div>
<!-- Конец формы -->
</body>
</html>



sendmail.php:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
</head>
<body>
<?php

/* Проверка на заполнение полей */
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['msg'])) {

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['msg'];

/* Убираем все лишние пробелы и переносы строк  и преобразуем все теги html в символы*/
$name = htmlspecialchars(trim($name));
$email = htmlspecialchars(trim($email));
$message = htmlspecialchars(trim($message));

/* Формируем сообщение */
$yourmail = "index@yandex.ru"; // email на который будут приходить письма 
$sub = "Сообщение с сайта index.pro"; //название сайта
$messsage = "Пользователь: $name \nс email адресом: $email \nОтправил сообщение: \n$message";

/* Отправка */
$sendmail = mail ($yourmail,$sub,$messsage,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if ($sendmail == 'true'){
    echo '<script type="text/javascript">alert(\'Сообщение отправлено!\');</script>';
}
else {
    echo '<script type="text/javascript">alert(\'Ошибка! Сообщение не отправлено.\');d</script>';
}

}
echo '<script type="text/javascript">document.location.href="http://energoline.pro/query.html";</script>';
//header('Location: http://www.blogzor.ru/feedback');
//die();

?>
</body>
</html>



Где нужно поменять кодировку?
...
Рейтинг: 0 / 0
13.11.2013, 17:41
    #38463812
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в форме обратной связи
Для начала следует ознакомиться с правилами формирования заголовков письма. В частности, вся нелатиница должна быть закодирована (в base64, например). Это касается поля Subject в данном случае.

Кроме того, оный пхп-скрипт является вполне годным для спам-рассылок. Что, как следствие, вызовет блокировку аккаунта на хостинге.

По сути проблемы. Убедитесь что оба файла действительно в кодировке utf-8 и сама страничка с формой в браузере работает в той же кодировке.
...
Рейтинг: 0 / 0
13.11.2013, 17:43
    #38463818
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в форме обратной связи
fobster
Код: html
1.
<meta http-equiv="Content-Type" content="text/html; charset="utf-8"/>

нет ли здесь какой ошибки с кавычками?
...
Рейтинг: 0 / 0
13.11.2013, 17:59
    #38463848
fobster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в форме обратной связи
сама страница с формой у меня в кодировке windows-1251. когда во ввсех файлах меняю кодировку на windows-1251, на почту вообще ничего не приходит
...
Рейтинг: 0 / 0
13.11.2013, 18:15
    #38463880
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с кодировкой в форме обратной связи
fobsterстраница с формой у меня в кодировке windows-1251Гм... а остальные в utf-8 чтоль?... Зачем такой бардак развели? Либо форму в utf-8 переделывать, либо в скрипте получения данных с формы и отправки письма конвертить данные, либо не париться и как есть в 1251 отправлять письмо...

fobsterкогда во ввсех файлах меняю кодировку на windows-1251, на почту вообще ничего не приходитВ спаме смотрели? ;-) А если серьезно, смотрите что передаете функции mail() и насколько оно соответствует стандартам. Более того, mail() ничего никуда не отправляет. Она всего лишь передает письмо для отправки локальному MTA (по крайней мере, на *никсах). Таким образом, при отправке можно либо пристально изучить передаваемые в mail() аргументы на предмет ошибок, либо смотреть логи МТА, либо то и другое вместе.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблема с кодировкой в форме обратной связи / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]