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);