Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение массива из формы, в топике яснее написано, что нужно... 
:(
    Опции темы
Anarki
Дата 18.5.2005, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: нет
Всего: 11



Доброе время суток!
Имеется форма и элементы в ней
Код

<input type="text" name="fields[0]">
<input type="text" name="fields[1]">
<input type="text" name="fields[2]">
<input type="text" name="fields[3]">
<input type="text" name="fields[4]">


Вопрос, можно ли вытащить эти значения как массив?
метод param(); не помогает почему-то, я делаю $q->param('fields'), ($q - обект CGI), пробовал через import_names('FORM'); тоже к $FORM::fields ничего не даёт. Не eval'ить же их? что подскажете делать?
Добавлено @ 12:58
Чтобы я мог обращаться к @fields, ($fields[0], $fields[1] и т.п.)


--------------------
PM WWW   Вверх
korob2001
Дата 18.5.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



Просто присвой всем полям одинаковые имена, а затем извлекай тем же param(), в списковом контексте.

Вот пример:
Код

<html>
 <head>
  <title>Test</title>
 </head>
 <body>
  <form action="/cgi-bin/test.pl" method="post">
   <input type="text" size="25" name="arr"><br>
   <input type="text" size="25" name="arr"><br>
   <input type="text" size="25" name="arr"><br>
   <input type="text" size="25" name="arr"><br>
   <input type="text" size="25" name="arr"><hr>
   <input type="submit" value="Отправить" name="send">
   <input type="reset" value="Очистить">
  </form>
 </body>
</html>

А вот скрипт, который получает эти поля в виде массива:
Код

#!/usr/bin/perl -w
use strict;
use CGI;

my $q = new CGI;

my @results = $q->param('arr');

print $q->header( -charset => 'Windows-1251' );
print $q->start_html( -title => 'Test' );

foreach ( @results ) {
   print $q->p( $_ );
}

print $q->end_html();

Удачи.

Это сообщение отредактировал(а) korob2001 - 18.5.2005, 13:38


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.