powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Преобразование URL-строки
8 сообщений из 8, страница 1 из 1
(JS) Преобразование URL-строки
    #33657197
Фотография yahaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в текстовое поле формы ввести русский текст, то Perl "получает" пустую строку, а в строке URL вместо "Вася" появляется "%1A%D9%4B%AA".

Если в этой строке ( не в форме! ) вручную написать "Вася", то всё работает...

Как решить эту проблему наиболее эффективно, желательно на "клиентской стороне" т.е. без переделывания Perl-кода. Или, если так нельзя, сделать это с наименьшими затратами...
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33657210
oraweb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yahaha Perl "получает" пустую строку, а в строке URL вместо "Вася" появляется "%1A%D9%4B%AA".
А разве наличие "%1A%D9%4B%AA" пустая строка?

Как решить эту проблему наиболее эффективно, желательно на "клиентской стороне" т.е. без переделывания Perl-кода. Или, если так нельзя, сделать это с наименьшими затратами...[/quot]

Если "%1A%D9%4B%AA" не устраивает чисто по эстетическим соображениям, то используйте метод POST
<form method="POST">
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33657240
Фотография yahaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эээ.. при чём тут эстетика? Мне нужно в Перле в переменную записать слово "Вася", а не "%1A%D9%4B%AA".
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33657395
oraweb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пиши код отсылающей формы и код принимающего скрипта, а там поглядим.
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33658798
Фотография yahaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<FORM name="form1" ACTION="/cgi-bin/aaa1.cgi" METHOD=GET>
<BR>Фильтр:<INPUT type=text name="filter" value="">
</FORM>
-------------------------------------------------------------------------
sub GetArg {
if ($ENV{'REQUEST_METHOD'} eq "POST") {$mode = 0}
if ($ENV{'REQUEST_METHOD'} eq "GET") {$mode = 1}
if ($mode == 0) {read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'})}
if ($mode == 1) {$buffer = $ENV{'QUERY_STRING'}}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
# $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;
$FORM{$name} = $value;
}
}
...
GetArg();
$fff=$FORM{'filter'};
------------------------------------------------------------------------
Примечания:
1) Использовать $fff=param("filter") нельзя, т.к. заранее неизвестно, что это обязательно метод GET (может быть и POST)
2) При обработке строки очень желательно отфильтровывать символы, отличные от букв, цифр и пробелов (см. выделенная строка), но, если это сделать в данном случае (снять комментарий), вместо "%1A%D9%4B%AA" будет вообще "" т.е. пустая строка...

Что делать?
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33659048
oraweb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему нельзя использовать CGI?

use CGI;
my $q = new CGI;
my $filter=$q->param('filter');
$filter=$filter || "";

Чтобы самому не изобретать велосипед.
Кстати, уже обсуждалось
http://www.sql.ru/forum/actualthread.aspx?tid=278911
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33659518
Фотография yahaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>my $filter=$q->param('filter');

Повторяю, заранее неизвестно, что метод будет именно "GET"...
...
Рейтинг: 0 / 0
(JS) Преобразование URL-строки
    #33659539
oraweb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yahaha>my $filter=$q->param('filter');

Повторяю, заранее неизвестно, что метод будет именно "GET"...
1. CGI по фигу как ты передаешь данные POST ли GET - один хрен, CGI.pm сам всю работу проделывает.
2. Сам же пишешь - METHOD=GET
И вместо того чтобы спорить, давно б уже сделал, или влом три строчки прикрутить или CGI.pm поставить?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Преобразование URL-строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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