*alexandre* has asked for the wisdom of the Perl Monks concerning the following question:
at the begining of the package then I've a login method still in this package$session = new CGI::Session("driver:File", $session_id, {Directory=>"$ +session_dir"}); if ($session_id eq '' or $session_id eq '$SESSIONID') { $session_id = $session->id(); }
if I print into the browser the value of the parameter stored in the session into this function it's work but when I load another page and call the method loadPersonal I lost the data#sql code to retrieve user info and compare to the password if ($user_name && $user_password) { #put into session the username and different variables $session = new CGI::Session("driver:File", $session_id, {D +irectory=>"$session_dir"}); $session->expire('+2h'); local our $id = $session->id(); $session->param( "username", "$user_name"); $session->param( "level", "$level"); $session->param("ip", "$current_ip"); clearBasket($user_name);
It's print the $session_dir and $session_id but not the username any idea ? That's strange because the session id doesn't change between the loading of the other pagesub loadPersonalData { open (FILE, "<$dir/personal_data.html") or die "cannot open fi +le $dir/personal_data.html"; local our $selectionIndex = $articleClass->loadArticleSelection(); +; local our $selection = $articleClass->viewArticleSelectionByIndex( +);; local our $menu = $lp->loadMenu(); local our $content; $session = new CGI::Session("driver:File", $session_id, {Directory +=>"$session_dir"}); local our $username = $session->param('username'); print "Content-Type: text/html\n\n"; print "session id $session_id<br/>"; print "username $username<br/>"; print "session dir $session_dir<br/>";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: session parameter lost
by moritz (Cardinal) on Jun 01, 2013 at 20:18 UTC |