Forum Webscript.Ru

Программирование => Perl => Тема начата: Timofey от 05 Сентября 2003, 14:15:38

Название: работа с param() в CGI
Отправлено: Timofey от 05 Сентября 2003, 14:15:38
вообщем надоело мне руками разбирать параметры из форм, стал использовать CGI модуль.

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

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

for(my $i=1;$i<=20;$i++)
 {
  param(field_$i) .....
  или
  param(\'field_$i\') .....
  нужно что-то типа такого, только так не работает
 }
Название: работа с param() в CGI
Отправлено: NeoNox от 05 Сентября 2003, 14:22:04
my $i;
for($i=1; $i<=20; $i++)
Название: тогда еще вопрос
Отправлено: Timofey от 05 Сентября 2003, 15:35:22
надо мне данные из param вставить в базу

$sqlstatement =$dbh->do("INSERT INTO priceses(id_prices ) VALUES (\'param(desc)\')")|| die print "$DBI::errstr";

не сработает, я тупо присваиваю значение обычной переменной и тогда уже использую данные в Sql
Название: работа с param() в CGI
Отправлено: NeoNox от 05 Сентября 2003, 15:45:20
Как думаеш что вернет тебе print $test = \'param(desc)\';?
Название: работа с param() в CGI
Отправлено: Timofey от 07 Сентября 2003, 10:37:27
так я про это и говорю, т.е. это нормально когда данные из парам присваивают новой переменно и потом уже работают с ней?

можно это переприсваение как-то автоматизировать, например в цикле
foreach $key (keys %form)
{
....
}

типа такого,только с парам
Название: работа с param() в CGI
Отправлено: Phoinix от 07 Сентября 2003, 11:43:27
Timofey
Может проще тогда переданные параметры загонять в массив?

@field = param(\'field\');

Единственно, что в форме должен быть очень жесткий порядок полей