|
|
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
Если в текстовое поле формы ввести русский текст, то Perl "получает" пустую строку, а в строке URL вместо "Вася" появляется "%1A%D9%4B%AA". Если в этой строке ( не в форме! ) вручную написать "Вася", то всё работает... Как решить эту проблему наиболее эффективно, желательно на "клиентской стороне" т.е. без переделывания Perl-кода. Или, если так нельзя, сделать это с наименьшими затратами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 01:09:33 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
yahaha Perl "получает" пустую строку, а в строке URL вместо "Вася" появляется "%1A%D9%4B%AA". А разве наличие "%1A%D9%4B%AA" пустая строка? Как решить эту проблему наиболее эффективно, желательно на "клиентской стороне" т.е. без переделывания Perl-кода. Или, если так нельзя, сделать это с наименьшими затратами...[/quot] Если "%1A%D9%4B%AA" не устраивает чисто по эстетическим соображениям, то используйте метод POST <form method="POST"> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 01:31:41 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
Эээ.. при чём тут эстетика? Мне нужно в Перле в переменную записать слово "Вася", а не "%1A%D9%4B%AA". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 05:26:45 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
пиши код отсылающей формы и код принимающего скрипта, а там поглядим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 09:21:37 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
<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" будет вообще "" т.е. пустая строка... Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 15:49:35 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
А почему нельзя использовать CGI? use CGI; my $q = new CGI; my $filter=$q->param('filter'); $filter=$filter || ""; Чтобы самому не изобретать велосипед. Кстати, уже обсуждалось http://www.sql.ru/forum/actualthread.aspx?tid=278911 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 16:51:15 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
>my $filter=$q->param('filter'); Повторяю, заранее неизвестно, что метод будет именно "GET"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 19:12:25 |
|
||
|
(JS) Преобразование URL-строки
|
|||
|---|---|---|---|
|
#18+
yahaha>my $filter=$q->param('filter'); Повторяю, заранее неизвестно, что метод будет именно "GET"... 1. CGI по фигу как ты передаешь данные POST ли GET - один хрен, CGI.pm сам всю работу проделывает. 2. Сам же пишешь - METHOD=GET И вместо того чтобы спорить, давно б уже сделал, или влом три строчки прикрутить или CGI.pm поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 19:26:18 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33659539&tid=1476387]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 439ms |

| 0 / 0 |
