#!/usr/bin/perl
use strict;
use CGI;
use CGI::Session::DB_File;
my $title = "Test Hidden Fields";
my $cgi = CGI->new;
my $sid = $cgi->cookie('session_id') || undef;
my $Session = new CGI::Session::DB_File($sid, {FileName=>'/var/www/cgi-bin/nobody/sessions.db', LockDirectory=>'/var/www/cgi-bin/nobody'});
if ($sid) { $Session->load_param($cgi) }
$sid ||=$Session->id;
my $cookie = $cgi->cookie(-name=>'session_id', -value=>$sid, -expires=>"+5m");
print $cgi->header(
-cookie=>$cookie,
-start_html=>$title);
print "
",
$cgi->h1($title),
"";
if ($cgi->param('name')) {
$Session->param(-name=>'name', -value=>$cgi->param('name'));
$Session->param(-name=>'age', -value=>$cgi->param('age'));
$Session->save_param($cgi);
&add_age;
} elsif ($cgi->param('test')) {
&add_age;
} else {
print $cgi->start_form,
"Name: ",
$cgi->textfield('name'),
"Age: ",
$cgi->textfield('age'),
$cgi->p,
$cgi->submit('Next'), " ",
$cgi->defaults("Clear"),
$cgi->end_form;
}
print $cgi->end_html;
sub add_age {
my $age = $Session->param('age');
++$age;
print $Session->param('name'), "\'s new age is $age";
$Session->param(-name=>'age', -value=>$age);
$Session->save_param($cgi);
print $cgi->start_form,
$cgi->hidden(-name=>'test', -value=>'test'),
$cgi->submit('Next'),
$cgi->end_form;
}