Forum Webscript.Ru

Программирование => Perl => Тема начата: FD от 06 Марта 2004, 08:53:27

Название: Записи
Отправлено: FD от 06 Марта 2004, 08:53:27
Есть скрипт который генерит ссылки из файла:
sub  view {
print "
";
open (file, "test.dat");
@list=;
close (file);
for ($i=0;$i<10;$i++)
  {
  ($data,$theme)=split(/::/,$list[$i]);
  print "$data ";
  }

}

Как мне зделать так чебы view2 выводил значение данной ссылки, например:
data = 1
ссылка = "2
требуемый результат от view2 = 2 theme
Название: Записи
Отправлено: Phoinix от 06 Марта 2004, 09:50:17
Да уж...

Что такое view2, и как ты собираешьсы выводить с помощью него значание ссылки? из твоего кода можно определить, что view2 - только лишь значение переменной окружения do...
вообще, что-то непонятное... зачем форма тебе здесь?

Можешь доходчиво объяснить, что тебе нужно?
Название: Записи
Отправлено: FD от 06 Марта 2004, 12:57:33
View2 - это процедура которая должна выводить значение ссылки в процедуре view!!!!
А если можна сделать без формы то как????
Я если честно пока тока новичек в perl...
Название: Записи
Отправлено: synthez от 06 Марта 2004, 14:57:25
что находиться в $data $theme ?
Название: Записи
Отправлено: Chs от 06 Марта 2004, 16:05:02
synthez
Цитировать
что находиться в $data $theme ?

Хорошо подумал что спросил?
Название: Записи
Отправлено: FD от 09 Марта 2004, 06:00:44
А какая разница что находится в $data и $theme
Пусть будет что в $data название генерируемой ссылки а в $theme то, что должно выводится!!!!!
Название: Записи
Отправлено: Phoinix от 09 Марта 2004, 10:49:48
FD



sub view {
# print "
";
  open (FILE, "test.dat");
  my @list = ;
  close (FILE);
  for (my $i = 0; $i < 10; $i++) {
    ($data, $theme)=split(/::/,$list[$i]);
# Это бы я поменял на:
#  foreach my $list (@list) {
#    ($data, $theme)=split(/::/,$list);

    print "$data ";
  }
#
}

sub view2 {
# При условии, что ты получил do=view2
  $theme = [переменная окружения ];
  print "Location: $theme\\n\\n";
  exit;
}

Ну насколько я могу понять твой вопрос...

Цитировать
...а в $theme то, что должно выводится!!!!!


Нервничать не надо, $theme - что и куда должно выводится???

Цитировать
View2 - это процедура которая должна выводить значение ссылки в процедуре view!!!!


Хотя исходя из вышесказанного:
sub view {
  open (FILE, "test.dat");
  my @list = ;
  close (FILE);
  foreach my $list (@list) {
    ($data, $theme)=split(/::/,$list);
    print "$data ";
  }
}
Название: Записи
Отправлено: FD от 10 Марта 2004, 11:18:04
В $theme содержится каколибо текст!!!
Первая часть работает! Данные передает вродибы (test.cgi?do=view2&theme=мои текст), но со второй чета я разобраться не могу как мне вот эту переменную окружения получить????
Название: Записи
Отправлено: Phoinix от 10 Марта 2004, 13:45:05
FD
Цитировать
я разобраться не могу как мне вот эту переменную окружения получить


О как, с этого и надо было начинать...

#!/usr/bin/perl -w
use strict;
use CGI;
my $query = new CGI;
my $do = $query -> param(\'do\') ? $query -> param(\'do\'):\'none\';
#... и т.д.


А вообще лучше книжку взять и почитать...
Название: Записи
Отправлено: FD от 17 Марта 2004, 10:14:31
Чета ниче не выходит, ща я конкретней объясню.
Есть так сказать динамический файл test.dat в нем содержится следующая батва причем она постоянно разнообразно меняется:

1::Пример 1::Текст примера 1
2::Пример 2::Текст примера 2
3::Пример 3::Текст примера 3
4::Пример 4::Текст примера 4
5::Пример 5::Текст примера 5

Нужно написать CGI который должен сгенерить ссылки 1 2 3 4 5
выбрав одну из ссылок CGI должен вывести записи соответствующие ей, например для 2:
Пример 1
Текст примера 2
причем все это желательно организовать в одном скрипте :)
Название: Записи
Отправлено: Phoinix от 17 Марта 2004, 11:40:11
FD

Вот тебе алгоритм:

1. Получаешь переменные окружения, причем одну - id;
2. Проверяешь, если id не передано, идешь в процедуру вывода списка, иначе в процедуру вывода данных;
3. Процедура вывода списка:
  3.1. Выгружаешь данные из файла;
  3.2. Выводишь список, в котором ссылки идут на твой скрипт с переменной id (http://myscript?id=xxx)
  3.3. Завершаешь работу срипта
4. Процедура вывода данных:
  4.1. Выбираешь из файла данные соответсвтующие преданному id номеру;
  4.2. Выводишь полученные данные на экран;
  4.3. Завершаешь скрипт.

и все...
Название: Записи
Отправлено: FD от 17 Марта 2004, 13:14:40
Ок! Эт все понятно, алгаритмы я тож составлять умею, как мне сделать чтобы скрипт id передавал сам в себя, как мне это описать????? без формы?????
Название: Записи
Отправлено: Phoinix от 17 Марта 2004, 13:26:33
FD

Цитировать
в котором ссылки идут на твой скрипт с переменной id (http://myscript?id=xxx)


После знака вопроса в сыылке, идет список передаваемых переменных окружения...







равнозначно ссылке:
http://myscript?id=10&name=myname

Почитай про GET и POST

Цитировать
Эт все понятно, алгаритмы я тож составлять умею, как мне сделать чтобы скрипт id передавал сам в себя, как мне это описать????? без формы?????


Если умеешь составлять алгоритмы, тогда задавай четко вопросы, где и что у тебя не получается, т.к. писать за тебя скрипты здесь никто не будет...
Название: Записи
Отправлено: FD от 17 Марта 2004, 13:30:51
Я и не прошу мне скрипт написать, просто мне здесь сказали что все это можно сделать без формы! Вот мне и стало интересно как????