CGI - Common Gateway Interface

Спецвыпуск хакер, номер #002, стр. 002-068-5

if ($page->param('new_user'))

{

my $rec = {};

my $now = time;

$rec->{'user'} = $page->param('new_user');

$rec->{'email'} = $page->param('new_email');

$rec->{'text'} = $page->param('new_text');

$comments{$now} = freeze $rec;

$page->param('new_user', "");

$page->param('new_email', "");

$page->param('new_text', "");

}

print $page->header, "\n";

if ($page->param('template'))

{

my $err = 0;

my $template = "$ENV{'DOCUMENT_ROOT'}/".$page->param('template');

open(TEMPLATE, $template) || do {$err = $!};

if ($err)

{

&display_default($template, $err);

}

else

{

while (<TEMPLATE>)

{

if (/!!FORM!!/)

{

&display_form;

}

elsif (/!!COMMENTS!!/)

{

&display_comments;

}

else

{

print;

}

}

}

}

else

{

&display_default;

}

sub display_form

{

print $page->start_form(-action=>'ms-guest.pl'), "\n";

print $page->hidden(-name=>'template', -value=>$page->param('template'))

if defined($page->param('template'));

print $page->hidden(-name=>'file', -value=>$file);

print $page->p('Your Name: ',

$page->textfield(-name=>new_user, -size=>30)), "\n";

print $page->p('Your Email: ',

$page->textfield(-name=>new_email,

-size=>30,

-default=>"$ENV{'USER'}\@$ENV{'REMOTE_HOST'}")), "\n";

print $page->p('Your Comments:',

$page->br,

$page->textarea(-name=>new_text,

-rows=>5, -cols=>50)), "\n";

print $page->submit(-value=>'Submit Entry'), "\n";

print $page->reset, "\n";

print $page->end_form, "\n";

}

sub display_comments

{

my ($k, $v);

my $comments = "";

my $then;

my $thing;

foreach $k (reverse sort keys %comments)

{

$v = $comments{$k};

$then = localtime $k;

($thing) = thaw($v);

$thing->{text} =~ s/</</;

$thing->{text} =~ s/\n/<BR>/;

$comments .= $page->p($page->strong($thing->{user}),

$page->em($then),

$page->br,

$page->a({-href=>"mailto:$thing->{email}"},

$thing->{email}),

$page->br,

$thing->{text})

. $page->hr . "\n";

}

print $comments;

}

sub display_default

{

print $page->start_html(-title=>'Guest Book'), "\n";

print $page->h1('Guest Book');

if (@_)

{

print $page->p("Can\'t open template: $_[0]. Error: $_[1]."), "\n";

}

&display_form;

print $page->hr, "\n";

&display_comments;

print $page->address('ms-guest v1.2',

$page->br,

'© 1998,',

$page->a({href=>'http://www.mag-sol.com},

Назад на стр. 002-068-4  Содержание  Вперед на стр. 002-068-6

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001