I tried testing your code, but I couldn't for the life me get CGI::Session working - however, I did get CGI::kSession working, and I pasted some code below. From what I can tell, your logic works and is good, and I would therefore assume that the issue lies in the module's usage. You might want to check this one out - it's clean an simple... (haven't looked at the actual .pm code, though...)
#!/usr/local/bin/perl
use strict;
use CGI;
use CGI::kSession;
my $cgi = new CGI;
print $cgi->header;
print $cgi->start_html();
my $s = new CGI::kSession(lifetime=>10,path=>"/tmp/",id=>'test');
$s->start();
$s->register("name") unless $s->is_registered("name");
$s->register("age") unless $s->is_registered("age");
if ($cgi->param("name")) {
$s->set("name", $cgi->param("name"));
$s->set("age", $cgi->param("age"));
&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 = $s->get("age");
my $name = $s->get("name");
$age++;
print $name, "\'s new age is $age";
$s->set("age", $age);
#$s->set("name", $name);
print $cgi->start_form,
$cgi->hidden(-name=>'test', -value=>'test'),
$cgi->submit('Next'),
$cgi->end_form;
}
1;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|