Forum Webscript.Ru

Программирование => Perl => Тема начата: Biggelow от 27 Июля 2003, 08:59:15

Название: Обработка запроса через метод GET
Отправлено: Biggelow от 27 Июля 2003, 08:59:15
Даю запрос через форму методом GET в строке пишет:

search.cgi?search=Asbestos+%FD%EA%F1%EF%EE%F0%F2&B3=%E8%F1%EA%E0%F2%FC&place=1

Обрабатываю параметры: $search=$cgi->param(\'search\');

Далее мне нужно перекинуть на один из 4-х скриптов в зависимости от того что выбрано. Делаю:

Location: search1.cgi?go&searchstring=Asbestos экспорт&sortby=date&type=exact&badstring=

Но " экспорт" получилось уже русскими символами. А не +%FD%EA%F1%EF%EE%F0%F2. Как сделать чтобы они  не становились русскими до дальнейшей обработки?
Название: Обработка запроса через метод GET
Отправлено: C++ от 27 Июля 2003, 11:46:19
use CGI qw(escape)
Название: Обработка запроса через метод GET
Отправлено: Biggelow от 28 Июля 2003, 09:26:04
А как ей правильно пользоваться?
Название: Обработка запроса через метод GET
Отправлено: Wyclef от 28 Июля 2003, 10:49:21
Например так:my $cgi = new CGI;

my %query;
foreach ($cgi->param()) {
my $param = $cgi->param($_);
$query{$_} = $cgi->escape($param);
}
...
...
my $search = $query{search};


Хотя наверно можно и так:my $search = $cgi->escape($cgi->param(\'search\'));