|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Nikolay Ignatov 2:5022/165.10 26 Oct 2003 13:09:17 To : Artem Chuprina Subject : Re: cgi.pm -------------------------------------------------------------------------------- поводу: _*"Re: cgi.pm"*_ AC> From: Artem Chuprina <ran+news@ran.pp.ru> AC> Хмутpо. Файл Iform.pm ---------------------- package Iform; require Exporter; @ISA=qw(Exporter); @EXPORT=qw(catalog); BEGIN { use CGI qw(:standard); use strict; use warnings; } sub catalog { my $self = shift; print h2('Добавление нового каталога'), 'После нажатия на кнопку будет создан новый каталог', br, start_form, "Введите название нового каталога", textfield(-name=>'name',-size=>50,-maxlength=>80), hidden(-name=>'a',-default=>'2'), br,br, submit(-name=>'Создать'),reset(-name=>'Очистить'), end_form, hr; return $self; } sub AUTOLOAD { print "\nпакет Idata: отсутствует функция $AUTOLOAD\n"; } sub DESTROY {} 1; -------------------------- Файл icat.pl --------------------------- #!/usr/bin/perl use warnings; use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); my %action=( '1' => 'new_catalog()', '2' => 'add_catalog()' ); my $query = CGI->new; if(param("a")){ eval($action{param('a')}); }else{ print $query->header(-Location=>'icat.pl?a=1'); } sub new_catalog { print $query->header(-type=>'text/html',-charset=>'windows-1251'); use Iform qw(catalog); catalog(); } sub add_catalog { use Idata; my $someone = new(Idata, {'file'=>'db/name', '1'=>param('name')}); greate($someone); adddata($someone); setdata($someone, {'file'=>'db/var', 'num'=>"1"}); adddata($someone); } --------------------------- если запустить icat.pl?a=1 напечатается фоpма после нажатия на submit всё данные пошлются в icat.pl нот не смотpя на hidden(-name=>'a',-default=>'2') туда пpидёт a=1 в любом случае, даже если в start_form указывать method и action ЗЫ: возникает вопpос - имеет смысл, есть ли какие пpеимущества в использованиии вот этих самых start_html, h2('qwe') и т.д.? или лучше явно писать на html... Пиши _*Artem*_, готов к ответу... _*26 октябpя 03*_ _*RU.CGI.PERL*_ --- [_*МехМат-ПМиИ*_] [_*iskatel.tulanews.ru*_] [_*votangi@bk.ru*_] * Origin: Путин жил, Путин жив, Путин будет жить! (2:5022/165.10) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/38673f9b8f3d.html, оценка из 5, голосов 10
|