Schrift
[thread]926[/thread]

CGI:session: Kann nicht auf session zugreifen



<< >> 5 Einträge, 1 Seite
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!
renee
 2007-05-08 11:00
#62 #62
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kannst Du das Skript vielleicht stark zusammenkürzen (aber so dass es noch lauffähig ist und den Fehler reproduziert) und es hier posten?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
smack:
 2007-05-08 17:39
#63 #63
User since
2007-05-08
27 Artikel
BenutzerIn
[default_avatar]
das problem war, dass die neue session nicht in der sub erstellt werden darf, sondern immer zu beginn des scripts.
habe es gelöst indem ich einen weiteren wert in der session hinzuefügt habe mit usereingeloggt.
nepos
 2007-05-08 19:36
#64 #64
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Uhm, das muss nicht so sein, aber der Gültigkeitsbereich deiner Variable hat wohl nicht so ganz gepasst oder?
smack:
 2007-05-09 15:37
#65 #65
User since
2007-05-08
27 Artikel
BenutzerIn
[default_avatar]
vermutlich. hab mir allerdings jetzt auch nicht mehr die mühe gemacht den fehler zu suchen. so ists eh besser, dass jeder ne session bekommt, der auf die seite zugreift.
<< >> 5 Einträge, 1 Seite



View all threads created 2007-05-07 20:57.