Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > передача параметров из формы


Автор: *NS* 26.3.2002, 13:11
товарищи подскажите..
из формы (хтмлевской) передаю параметры скрипту, param1, param2 и т.д. , но я не знаю склько их в форме...
как мне их все обработать скриптом? (ну явно получить в скрипте)
через стандартный $name = $query -> param{'param1'} и т.д. не получается т.к. я не знаю сколько их

Автор: Cepera 27.3.2002, 08:47
хм... задача интересна...
а вот такой выход попробуй...
передавай сначала параметром (первым, естественно) общее кол-во параметров, и все  :satisfied

Автор: Arx 30.3.2002, 11:15
да элементарно
Код

$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($1))/eg;
 $value =~ s/<!--(.|\n)*-->//g;
 $FORM{$name}=$value;
}

Автор: *NS* 1.4.2002, 10:29
а для POST ?

Автор: Arx 1.4.2002, 11:44
такая же хрень, тока в $buffer кладешь данные из STDIN'а
ну как обычно вобщем
можно сделать универсально для обоих методов
Код

if( $ENV{'REQUEST_METHOD'} eq "POST" )
{
        read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
elsif($ENV{'REQUEST_METHOD'} eq "GET")
{
       $buffer=$ENV{'QUERY_STRING'};
}


...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)