Thread CGI:session: Kann nicht auf session zugreifen (4 answers)
Opened by Gast at 2007-05-07 20:57

Gast Gast
 2007-05-07 20:57
#61 #61
hi leute

ich verwende bzw möchte cgi::session verwenden. dazu verwende ich folgenden code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
            $session = new CGI::Session('driver:File', undef, {Directory=>'./.tmp/sessions'});
$session->expire('+30m');

my $endzeit = new Benchmark;
my $zeitdiff = Benchmark::timediff($endzeit, $main::startzeit);
my $duration = Benchmark::timestr($zeitdiff, "nop");

$duration =~ /(\d+\.\d+) wallclock*/;
$duration = $1;

my $sname = $session->name;
my $sid = $session->id;

#session sachen speichern
$session->param('user-name', $uname);
$session->param('user-id', $ruckgabe[0]);
$session->param('user-gruppe', $ruckgabe[1]);
$session->param('user-admin', $ruckgabe[2]);

$session->flush();

print "Content-Type:text/xml\n\n";
print <<"XML";
<data duration="$duration">

<session name="$sname" id="$sid" />
</data>
XML
das ein auszug aus sub login. das modul wird natürlich zuvor per use CGI:Session eingebunden.
Der Cookie von CGI::Session wird nachher per Javascript gesetzt mit den Daten $sname und dem wert $sid.


wenn ich aber später in einer anderen sub auf die session zugreifen will. tritt immer is_empty in kraft obwohl der cookie exisitert!!
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
        $session = CGI::Session->load or die CGI::Session->errstr;

if($session->is_empty) {
print "Content-Type:text/xml\n\n";
print <<"XML";
<data duration="0">

<titel><![CDATA[Gesperrt]]></titel>

<text><![CDATA[Bitte einloggen!]]></text>

<datum>0000-00-00 00:00:00</datum>

<einloggen todo="1" />

<bilder>

</bilder>
</data>
XML

exit;
}
elsif($session->is_expired) {
print "Content-Type:text/xml\n\n";
print <<"XML";
<data duration="0">

<titel><![CDATA[Gesperrt]]></titel>

<text><![CDATA[Session abgelaufen!]]></text>

<datum>0000-00-00 00:00:00</datum>

<einloggen todo="1" />

<bilder>

</bilder>
</data>
XML

exit;
}

kann mir jmd helfen? die entwicklung hängt fest!


vielen dank!

View full thread CGI:session: Kann nicht auf session zugreifen