Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   работа с param() в CGI (http://www.flasher.ru/forum/showthread.php?t=48814)

Timofey 07.09.2003 11:10

работа с param() в CGI
 
вообщем надоело мне руками разбирать параметры из форм, стал использовать CGI модуль.

есть у меня куча полей в форме типа
field_1,field_2 ... field_20

Как мне в цикле обработать данные из формы, т.е.

for(my $i=1;$i<=20;$i++)
{
param(field_$i) .....
или
param('field_$i') .....
нужно что-то типа такого, только так не работает
}

soper 13.09.2003 17:22

param('field_'.$i)




Может так, лучше цги библиотеку не использовать дырявая и тяжёлая:)


обычно параметры забираем так: для get

$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;
$FORM{$name} = $value;
}


для post:


read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@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;
$FORM{$name} = $value;
}

wd_andrey 19.09.2003 13:02

Вот так и найдеш все параметры формы и пофиг как их послали (GET or POST).
Код:

%hash=param();
while(($key,$value) = each %hash){
  print $key." = ".$value;
}



Часовой пояс GMT +4, время: 23:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.