Не могу сделать форму обратной связи

12 3
Z
На сайте с 30.03.2012
Offline
10
1602

Двиг hostcms free

Перепробовал несколько готовых скриптов на подобии вот этого.

Это в страницу пихаем.

<p style="color: #ff0000;"><strong>Âû ìîæåòå îòïðàâèòü ìíå ñîîáùåíèå, çàïîëíèâ ñëåäóþùóþ ôîðìó:</strong></p>

<form action="/mail.php" accept-charset="UNKNOWN" enctype="application/x-www-form-urlencoded" method="post"><strong>Âàøå èìÿ:</strong><br /><input name="name" size="30" type="text" /> <br /><strong>Âàø e-mail (äëÿ îòâåòà):</strong><br /><input name="email" size="30" type="text" /> <br /><strong>Âàøå ñîîáùåíèå:</strong><br /><textarea cols="30" rows="3" name="mess"></textarea>
<p><input type="submit" value="Îòïðàâèòü ñîîáùåíèå" /></p>
</form>

А это в отдельный файл.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<title>Ia?aoiay naycu</title>
</head>
<body>
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['mess'])) {$mess = $_POST['mess'];}
if (empty($name))
{
echo "<b>Ia oeacaii eiy!<p>";
echo "<a href=/>Aa?ioouny e caiieiaie? oi?iu</a>";
exit;
}
if (empty($email))
{
echo "<b>Ia oeacai e-mail!<p>";
echo "<a href=/>Aa?ioouny e caiieiaie? oi?iu</a>";
exit;
}
if (empty($mess))
{
echo "<b>Niiauaiea ia iaienaii!<p>";
echo "<a href=/>Aa?ioouny e caiieiaie? oi?iu</a>";
exit;
}
$to = "mail@yandex.ru"; /*OEACAOU NAIE AA?AN!*/
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Niiauaiea n aaoaai naeoa";
$message = "Eiy iineaaoaai: $name \nYeaeo?iiiue aa?an: $email \nNiiauaiea: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "<b>Nianeai ca ioi?aaeo aaoaai niiauaiey!<p>";
echo "<a href=index.php>Ia?ieoa,</a> ?oiau aa?ioouny ia aeaaio? no?aieoo";
}
else
{
echo "<p><b>Ioeaea. Niiauaiea ia ioi?aaeaii!";
}
?>
</body>
</html>

Все отлично работает, но письма всегда приходят ко мне на почту в кривой кодировке... Не знаю чего делать :(

DiAksID
На сайте с 02.08.2008
Offline
236
#1

локаль рУками выставит нужную пробовали?

show must go on !!!...
Z
На сайте с 30.03.2012
Offline
10
#2

Извиняюсь, я не совсем владею вопросом и вас не особо понимаю, но форма очень нужна :)

Если не сложно, немогли бы вы поподробнее сказать ?

DiAksID
На сайте с 02.08.2008
Offline
236
#3

запросто: php setlocale

Z
На сайте с 30.03.2012
Offline
10
#4

ничего не понял -(

-O-O-
На сайте с 27.05.2006
Offline
140
#5

А в коде у Вас нормальная кодировка? - Aa?ioouny e caiieiaie? oi?iu

Hostcms насколько помнится в utf-8 работает. В скрипте сделайте utf-8 кодировку.

----

Откройте php скрипт в Notepad++ и сделайте "Кодировки -> Кодировать в UTF-8(Без BOM)".

Z
На сайте с 30.03.2012
Offline
10
#6

Да, в коде нормальная, сюда просто криво скопировалось

-O-O-
На сайте с 27.05.2006
Offline
140
#7

в скрипте еще поменяйте

$headers = "Content-type: text/plain; charset = windows-1251"; на utf-8

Z
На сайте с 30.03.2012
Offline
10
#8

Нет, ничего не изменилось, теперь только после нажатия кнопки отправить текст 'Сообщение отправлено' выходит в неверной кодировке.

DiAksID
На сайте с 02.08.2008
Offline
236
#9

ну всё ж таки локаль попробуйте установить:

setlocale( LC_ALL, 'ru_RU.UTF-8' );

отправкой письма ведь серверный mail занимается...

T2
На сайте с 24.02.2008
Offline
151
#10

$tex= 999/key.txt';//титлы для господи и блогспот

$text2= file_get_contents('300/'.$cont.'.txt');//тексты для блогспот

$tex = '=?utf-8?B?'.base64_encode($tex).'?=';//Для windows-1251 нужно "windows-1251" вместо utf-8

$tttt="ta@blogger.com";

$headers = "Content-type: text/html; charset=utf-8 \r\n";

mail($tttt,$tex,$text2,$headers);

Партнёрка VPN, выплаты 16% - https://c.vpn.how/?p=5442
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий