Страница 1 из 1
Проблема с созданием формы
Добавлено: 05 июл 2005, 20:47
Feniksa
Я пишу етот код:
<form action="mailto:
Feniksa@rambler.ru" method=post>
<textarea rows=5 cols=40 name=Comments></textarea>
<input type=submit value="Отправить">
</p>
Вроде все правильно, форма есть, но присылает оно на почту какуюто лабуду: фаил где из всех символов можно уведеть понять только английские буквы.
Задаю вечный вопрос:"Как быть и что делать ? "
Добавлено: 05 июл 2005, 23:27
AiK
видимо кодировку страницы указывать
Добавлено: 06 июл 2005, 12:23
Feniksa
Вместо "Привет, Hello!" Приходит
"Comments=%CF%F0%E8%E2%E5%F2%2C+Hello%21%21"
Мне кажется дело не в кодировке.
Добавлено: 06 июл 2005, 18:44
AiK
Код: Выделить всё
<form method="post" action="mailto:Feniksa@rambler.ru" enctype="text/plain">
Добавлено: 07 июл 2005, 10:16
stanlee
вообще то в идеале вывести все что в форме в функцию в скрипте5 которая все разложет по полочками и отправит
Добавлено: 07 июл 2005, 11:55
canegor
Попробуй скормить то что приходит, такой конструкции:
$value = пришло ...
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
а потом посмотри
Могу дать подпрограмму для разбора приходящих данных без всяких там CGI модулей:
# Читаем вводные данные (GET)
sub read_get {
$buffer = "$ENV{'QUERY_STRING'}";
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value =~ s/\n/ /g;
$value =~ s/\|/ /g;
$value =~ tr/ / /s;
$value =~ s/<([^>]|\n)*>//g;
$FORM{$name} = $value;
}
Добавлено: 07 июл 2005, 11:58
canegor
} закрывающую скобку забыл
Или можно такую подпрограмму еще в яндексе поискал - много бродит
тогда после вызова подпр. смотри свою строку Comments в $FORM{"Comments"}