powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблема с кодировкой в форме обратной связи
5 сообщений из 5, страница 1 из 1
проблема с кодировкой в форме обратной связи
    #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
проблема с кодировкой в форме обратной связи
    #38463812
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала следует ознакомиться с правилами формирования заголовков письма. В частности, вся нелатиница должна быть закодирована (в base64, например). Это касается поля Subject в данном случае.

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

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

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

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


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