Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: session module

by Joost (Canon)
on Jun 02, 2005 at 12:42 UTC ( [id://462882]=note: print w/replies, xml ) Need Help??


in reply to session module

If it doesn't work as you expect, you'd better explain what's going wrong, and if it does work, what do you want us to do?

Maybe you should look at your writeups, there have been endless threads about this code already. There's bound to be some useful information in there somewhere.

updated: spelling

Replies are listed 'Best First'.
Re^2: session module
by rjsaulakh (Beadle) on Jun 02, 2005 at 16:30 UTC

    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);
      You must be mistaken - neither the script, nor the module will actually create a persistent session.

      Since I've already explained to you two times how you could make a working session with 1/4 of the code you're using, and I've pointed you to an alternative method that will do almost all the work for you, I can't imagine that anything I'll tell you will help you in the least, since you don't appear to read anything anybody tells you.

      So, I'll tell you - again - to look at your previous threads and read the replies there . Please try to use your concentration while you do that - copy & pasting random lines of code is not the same as trying to understand a reply.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://462882]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-26 02:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found