Автор Тема: модуль CGI.pm массив параметров.  (Прочитано 3062 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
модуль CGI.pm массив параметров.
« : 19 Июня 2002, 19:27:18 »
Может кто знает, а то ведь эксперементальным путём можно и ошибиться)-:
Положим у меня в форме, которая передаёться с крипту на обработку идут одно за другим поля с одинаковым именем, в скрипте я подключаю модуль CGI.pm и с помощью встроенной функции param() получаю эти параметры в массив скаляров.
ВОПРОС: Они будут идти по порядку, или это уже как повезёт:-)? Вопрос для меня прямо таки скажим принципиальный, если не попорядку, то фигня получиться, помогите плиз, вроде читал доки, про порядок сортироки там ИМХО: ничего не сказано. ПлиZZZZZZZ Оч. надо!
Ну к чему все это, лучше бы водки выпили...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
модуль CGI.pm массив параметров.
« Ответ #1 : 19 Июня 2002, 19:37:45 »
Дык, попробуй.
А че ты так боишся ошибиться то?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
модуль CGI.pm массив параметров.
« Ответ #2 : 19 Июня 2002, 19:57:53 »
Если я тя правильно понял (насчет одинаковых имен поле), то вот что получилось

#!/usr/bin/perl
use CGI;
$y=new CGI;
$yes=$y->param(\'yes\');
print "Content-type: text/html\\n\\n";

if (!$yes){
print "";
for ($x=0;$x<10;$x++){print "";}
print "";
print "";
print "";
exit;
}

for ($x=0;$x<10;$x++){
$dat[$x]=$y->param(\'pole\');
}

for (@dat){print"$_
";}

это типа скрипт, а выдал он
1
1
1
1
1
1
1
1
1
1

Такие вот дела :)
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
модуль CGI.pm массив параметров.
« Ответ #3 : 20 Июня 2002, 16:53:31 »
Если это так принципиально важно, то сам анализируй переменные среды.
Вот так ты получишь весь ввод в переменную буфер

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

Анализируешь, разбиваешь, переносишь как хочешь, раз в модуле CGI сомневаешься.
Полная свобода действий.

Оффлайн ESE

  • Фанат
  • Постоялец
  • ***
  • Сообщений: 172
  • +0/-0
  • 2
    • Просмотр профиля
    • http://comp.hobi.ru
модуль CGI.pm массив параметров.
« Ответ #4 : 20 Июня 2002, 22:13:57 »
Блин Глеб, что ты там еще задумадл?????????? :)
Как твой сайт???? как сам??????
У програмиста две руки: левая и !левая
welcome

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
модуль CGI.pm массив параметров.
« Ответ #5 : 20 Июня 2002, 22:47:42 »
Ну обо всём по порядку:
Mog., интересный у тебя вывод получился, ты что вводил все 1?
А суть трабл у меня заключалась в следующем:
У меня есть нерегулируемое количество полей (зависит от юзверя, постоянно меняеться), в них одинаковый тип данных (цифры),  иного выхода учесть их все кроме чем назвать одним именем я не нашёл. К счастью в CGI.pm предусмотрен радиус кривизны:-) моих рук и поэтому в массиве данные идут по-порядку, результат можно посмотреть на http://www.glebushka.hut.ru/const/120.shtml
(там где корзина, понабирайте себе товаров, и попробуйте поменять их количество, это как раз то, из-за чего весь этот гемор)
Evgeny
Неее, ещё раз убедился в безусловном преимуществе CGI.pm:-)
Цитировать
Блин Глеб, что ты там еще задумадл??????????  
Как твой сайт???? как сам??????

ESE, это уже флейм:-), давай или мне на мыло ( stalnoy_gleb@mail.ru ), или на аську (159610597), а то тут, говорят:-), модераторы иногда бывают;-))). Если коротко то полный ..., абзац вообщем, вместо того чтобы готовиться к ГОСам и поступлению в институт, я тут скриптики пописываю:-) да на форуме тусуюсь, единственное ума на что пока ещё хватило, так это подождать до окончания всех экзаменов с разработкой собственного сайтика, так что появление его, по адресу http://www.glebushka.pp.ru , ожидаеться в конце июля, как только поступлю в институт. Воть.
Ну к чему все это, лучше бы водки выпили...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
модуль CGI.pm массив параметров.
« Ответ #6 : 21 Июня 2002, 07:33:27 »
Цитировать
Mog., интересный у тебя вывод получился, ты что вводил все 1?

Вводил я 1 2 3 4 5 6 7 8 9 10, а получил голимые единицы. Наверно в CGI.pm на радиус кривизны моих рук не рассчитан :(
Все болезни от нервов, только сифилис от удовольствия

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28