my module is running fine but there are errors
1.when i use my module in cgi program i am not able to the retrieve username where as if i paste the script in the cgi program i am able to retrieve the username
note
the module contains the same script which i am pasting . i just made a new module of it so that i can call it easily where i need session variables
2.where ever i use my module in a cgi script it creates a new sesssion instead of tracking for the existing one
please let me know if i am making any mistake or my approac is wrong
do i use cookies to accomplish the same
module is like this
package raman;
use CGI::Carp qw(fatalsToBrowser);
#die "Bad error here";
use CGI;
use CGI::Cookie;
use CGI::Session;
$cgi = new CGI;
our @ISA = qw(Exporter);
my $session_dir = "C:\\raman";
use constant SESSION_COOKIE => "MY_SITE_SIDE";
$sid = $cgi->cookie(SESSION_COOKIE) || $cgi->param("sid") || undef;
$session = new CGI::Session("driver:File", $cgi,
{
+
Directory=>$session_dir
}
)
#incase of any error the session close giving an error
or die $CGI::Session::errstr;
$cookie = $cgi->param(-name => SESSION_COOKIE,
-value => $session->id,
#sessiion expires after 3 hours
-expires=>"+3h");
$cgi->header(-cookie=>$cookie);
#print $cgi->header;
#print "Your session id is ", $session->id();
# A cookie is being created which is then being send to the user brows
+er
#$session->param('username', 'raman');
#$session->save_param($cgi, ["username", "password"]);
#print $session->param('username'); #prints raman
# this line saves all the available/accessible CGI params
$x= $session->save_param($cgi);
1;
the script is like this
#!c:\Perl\bin\perl.exe -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
#die "Bad error here";
use CGI;
use CGI::Cookie;
use Data::Dumper;
use CGI::Session;
my $cgi = new CGI;
my $session_dir = "C:\\raman";
#Generating a new session
#use constant SESSION_COOKIE => "MY_SITE_SIDE";
my $sid = $cgi->cookie(SESSION_COOKIE) || $cgi->param("sid") || undef;
my $session = new CGI::Session("driver:File", $cgi,
{
+
#giving the directory where the session var
+iables will be stored
Directory=>$session_dir
}
)
#incase of any error the session close giving an error
or die $CGI::Session::errstr;
my $cookie = $cgi->param(-name => SESSION_COOKIE,
-value => $session->id,
#sessiion expires after 3 hours
-expires=>"+3h");
$cgi->header(-cookie=>$cookie);
#print $cgi->header;
#print "Your session id is ", $session->id();
# A cookie is being created which is then being send to the user brows
+er
$session->param('username', 'raman');
#$session->save_param($cgi, ["username", "password"]);
#print $session->param('username'); #prints raman
# this line saves all the available/accessible CGI params
my $x= $session->save_param($cgi);
-
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.