Thread sessionbasierter login mit perl
(3 answers)
Opened by bjt1988 at 2007-08-14 21:10
Hi,
wenn ich die Manpage richtig verstanden habe checkt is_empty() ob etwas in der Session gespeichert ist. Da du in deinem Programm mit der Session eigentlich garnichts anfängst ist diese vermutlich immer empty. Änder das mal so ab: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 $CGI::Session::MySQL::TABLE_NAME = 'sessions'; my $session = CGI::Session->load() or die CGI::Session->errstr; if ( $session->is_expired ) { die "Your session expired. Please refresh"; } else { $session = new CGI::Session("driver:MySQL", $cgiquery, {Handle=>$db}); $session->expire(3600); } print $session; Jetzt macht er immer dann wenn die Session expired ist eine neue. Zusätzliche Lektüre für dich: ![]() Ausserdem wirfst du völlig unkontrolliert mit "my" um dich. Bedenke dass Variablen die mit my deklariert werden immer nur im jeweiligen Block gültig sind. D.h. du hast in deinem Beispiel plötzlich zwei verschiedene $session Variablen gehabt. Eine die im Main Block und die zweite die nur im zweiten if Block gültig war. Viele Grüße Manuel PCE - Editor für Perl in Perl
Bookzilla.de - Mit jedem Kauf OpenSource unterstützen "I know I can't hold the hate inside my mind cause what consumes your thoughts controls your life" - Creed |