IPB


Бесплатные VPN сервера

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

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

>> !!Ответы на 90% вопросов здесь!! <<


Правила хостинга | Общие ошибки новичков | Поиск

 
Тема закрытаНачать новую тему
Помогите разобраться с кодировками в форме отправки с сайта.
officemebelavi
сообщение 17.7.2011, 11:29
Сообщение #1


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Если вдруг открываю тему которая уже есть, извиняюсь конечно. Можете тогда удалить эту и перенаправить меня в имеющуюся. Суть проблемы такова:
Есть простенькая форма html:

<body>
<form action="send.php" method="post" name="f1">
<p> Имя<br />
<input type="text" name="name" ></p>
<p> E-mail<br />
<input type="text" name="email" ></p>
<p> Сообщение<br />
<textarea name="message" rows="5" cols="30"></textarea><br />

<input type="submit" value="Отправить" ></p>

</form>
</body>

Есть к ней обработчик php:


<?php
if (isset($_POST['$name'])) {$name = $_POST['$name'];}
if (isset($_POST['$email'])) {$email = $_POST['$email'];}
if (isset($_POST['$message'])) {$message = $_POST['$message'];}

$address = 'business-furniture@yandex.ru';
$sub = "Хочу стать дилером";
$mes = "Имя: $name \nМыло: $email \nТекст: $message";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset=UTF-8\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Ошибка отправки";
}
?>

Сама форма открывается правильно. А вот при попытке отправить с сайта начинаются проблемы.
Их две.
- Первая, вместо сервисного сообщения "Сообщение отправлено" пишется дословно Сообщение отправлено
- Вторая, на почту приходит письмо с пустым адресом, с темой "Хочу стать дилером" и содержанием в теле

Имя:
Мыло:
Текст:

Хотя каждое поле я естественно заполняю перед отправкой.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
BaNru
сообщение 17.7.2011, 11:47
Сообщение #2


Местный флудер
*******

Группа: Пользователи
Сообщений: 1222
Регистрация: 24.5.2010
Из: Самарская обл.
Пользователь №: 1502
Домен: g63.ru


Файлы сохраняйте в UTF-8, в хедерах прописывайте тоже UTF-8.


--------------------
Мой простой блог возродившийся из пепла времён

Чем больше человек стыдится, тем больше он заслуживает уважения /Б.Шоу/


- бесплатное продвижение сайтов
- обмен целевым трафиком
- увеличение посещаемости сайта
Тема об "RSSFriends" на форуме NX0
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 12:26
Сообщение #3


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Сохранение в UTF-8 решило половину проблем. Сервисное сообщение правильного формата приходит. А вот вторая часть пока не решилась.
Не очень понял, что значит: "в хедерах прописывайте тоже UTF-8". Был бы очень признателен если бы чуть подробнее объяснили.
Заранее спасибо.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
Count
сообщение 17.7.2011, 12:41
Сообщение #4


Кандидат наук
******

Группа: Пользователи
Сообщений: 559
Регистрация: 31.8.2010
Из: Брест
Пользователь №: 1769



Код
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

попробуйте...
Код
<meta http-equiv="content-type" content="text/html" charset="windows-1251">

CP-1251


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 12:55
Сообщение #5


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Не помогло.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
Count
сообщение 17.7.2011, 14:17
Сообщение #6


Кандидат наук
******

Группа: Пользователи
Сообщений: 559
Регистрация: 31.8.2010
Из: Брест
Пользователь №: 1769



поробуйте в браузере кодировку поменять


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 14:35
Сообщение #7


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Не думаю, что проблема в браузере. Пробую смотреть в разных браузерах (Хром, мозила и ИЭ), а так же в бате везде одинаково. Мне вообще не приходит часть данных, конкретно из этой строки: ($mes = "Имя: $name \nМыло: $email \nТекст: $message";) , а ещё конкретнее вот эти данные : $name, $email, $message.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
BaNru
сообщение 17.7.2011, 15:21
Сообщение #8


Местный флудер
*******

Группа: Пользователи
Сообщений: 1222
Регистрация: 24.5.2010
Из: Самарская обл.
Пользователь №: 1502
Домен: g63.ru


Код
header('Content-Type: text/html; charset=utf-8');


Если ни чего не поможет, то iconv() в помощь


--------------------
Мой простой блог возродившийся из пепла времён

Чем больше человек стыдится, тем больше он заслуживает уважения /Б.Шоу/


- бесплатное продвижение сайтов
- обмен целевым трафиком
- увеличение посещаемости сайта
Тема об "RSSFriends" на форуме NX0
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 18:33
Сообщение #9


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Что бы не вызывать лишних вопросов, сразу поясню, php для меня совсем новинка, я только недавно более или менее стал понимать html и css. Поэтому если не затруднит чуть подробнее ответы.
Это: header('Content-Type: text/html; charset=utf-8'); надо вставить в код обработчика или формы? В силу того, что не понимаю пока в php не ясно мне куда нужно вставлять.
А это: iconv() мне совсем ни о чем не говорит.
Не хочу показаться ленивым, но на данный момент лезть в глубины php считаю нет большого смысла. Так как мне нужна форма отправки заявки. Если не составит большого труда поясните прям на "пальцах". Коды формы и обработчика я дал, поэтому идеально если мне прям в них покажут, как надо поступить. Надеюсь на ваше понимание.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
Count
сообщение 17.7.2011, 19:12
Сообщение #10


Кандидат наук
******

Группа: Пользователи
Сообщений: 559
Регистрация: 31.8.2010
Из: Брест
Пользователь №: 1769



biggrin.gif biggrin.gif biggrin.gif biggrin.gif PHP - это не язык разметки страницы, так что туда пихать это ненужно. Этот код вставляется в HTML


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
BaNru
сообщение 17.7.2011, 19:23
Сообщение #11


Местный флудер
*******

Группа: Пользователи
Сообщений: 1222
Регистрация: 24.5.2010
Из: Самарская обл.
Пользователь №: 1502
Домен: g63.ru


Код
header('Content-Type: text/html; charset=utf-8');

Вставляется в самый верх документа, сразу после <?php
Если сначало идет html, а потом уже открывается PHP, то необходимо "принудительно" вставить самой первой строкой
Код
<?php header('Content-Type: text/html; charset=utf-8'); ?>


iconv() - это функция конвертирования кодировок. Там где идет отправка данных, необходимо сделать с переменными типа такого
Код
$content = iconv("windows-1251", "UTF-8", $content);

iconv("Из какой кодировки", "В какую кодировку", $Какую_переменную). Разумеется, что б не создавать новую переменную, выводим конвертированные данные в ту же переменную. Т.е. у нас остается та же переменная, но уже с конвертированными данными.


--------------------
Мой простой блог возродившийся из пепла времён

Чем больше человек стыдится, тем больше он заслуживает уважения /Б.Шоу/


- бесплатное продвижение сайтов
- обмен целевым трафиком
- увеличение посещаемости сайта
Тема об "RSSFriends" на форуме NX0
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 19:35
Сообщение #12


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Ребята я искренне верю, что мои проблемы вас забавляют. Но не пойму я куда мне этот header('Content-Type: text/html; charset=utf-8'); вставить??? Если как мета, не помогло.

BaNru - сейчас попробую.

<?php header('Content-Type: text/html; charset=utf-8'); ?>
Я вставил только без ?> , как я понял это закрывающий он в конце документа или я не правильно сделал? Но в общем не помогло, что я сделал. Не хочу умничать, но Вы точно понимаете, что мне нужно решить? У меня не то, что в другой кодировке приходят символы, а их вообще нет.
Пример:
Имя:
Мыло:
Текст:

Вместо

Имя: Игорь
Мыло: a@b.ru
Текст: test


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
BaNru
сообщение 17.7.2011, 19:44
Сообщение #13


Местный флудер
*******

Группа: Пользователи
Сообщений: 1222
Регистрация: 24.5.2010
Из: Самарская обл.
Пользователь №: 1502
Домен: g63.ru


В личку скидывай
логин и пароль от фтп и путь до скрипта.

Через часок сделаю


--------------------
Мой простой блог возродившийся из пепла времён

Чем больше человек стыдится, тем больше он заслуживает уважения /Б.Шоу/


- бесплатное продвижение сайтов
- обмен целевым трафиком
- увеличение посещаемости сайта
Тема об "RSSFriends" на форуме NX0
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 19:52
Сообщение #14


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Все отравил. Заранее спасибо.


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение
BaNru
сообщение 17.7.2011, 21:33
Сообщение #15


Местный флудер
*******

Группа: Пользователи
Сообщений: 1222
Регистрация: 24.5.2010
Из: Самарская обл.
Пользователь №: 1502
Домен: g63.ru


Исправил. Должно работать. Проверяй.

Правки
1) $_POST['$name'] на $_POST['name'] и все в таком духе
2) Файлы в кодировке UTF-8, а необходимо сохранять в UTF-8 без BOM, хотя думаю в данном случае не имеет значения.


--------------------
Мой простой блог возродившийся из пепла времён

Чем больше человек стыдится, тем больше он заслуживает уважения /Б.Шоу/


- бесплатное продвижение сайтов
- обмен целевым трафиком
- увеличение посещаемости сайта
Тема об "RSSFriends" на форуме NX0
Перейти в начало страницы
 
+Цитировать сообщение
officemebelavi
сообщение 17.7.2011, 21:45
Сообщение #16


Студент
****

Группа: Пользователи
Сообщений: 93
Регистрация: 16.7.2011
Из: Волгоград
Пользователь №: 3849
Домен: www.officemebelavi.ru


Вот спасибо!!! Работает всё! Кстати пробовал сохранять в UTF-8 без BOM не помогало. Но как видим основная проблема была в другом. Ещё раз большое спасибо!


--------------------
Логин: msvlg
Домен: http://www.msvlg.ru
Перейти в начало страницы
 
+Цитировать сообщение

Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 7.12.2019, 12:35