Font
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]618[/thread]

CGI::Session: Parameter nachträglich ändern?



<< >> 1 entry, 1 page
pearl-man
 2005-11-29 17:05
#6090 #6090
User since
2005-07-25
65 articles
BenutzerIn
[default_avatar]
Sers,
habe mit folgendem Code eine Session etabliert:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
$session = new CGI::Session("driver:File",undef,{'Directory'=>"$session_dir"}) or die "$!";

### write the Session-variables
$session->param('name', 'ulf');
$session->expire('+2h');

### Send the linked cookie to the client
$id = $session->id();
print "Set-Cookie: session=$id; domain=$ENV{'HTTP_HOST'}; path=/\n";

### Session-data saving...
$session->flush();
...


die Session wird ordnungsgemäß aufgebaut, es wir serverseitig eine Session-File mit dem Parameter name (=ulf) abgelegt und das Parameter kann von späteren Scripten ausgelesen werden.
Jetzt möchte ich allerdings das Parameter in einem späteren Script (nach dem etablieren oben genannter Session) mit einem anderen Wert belegen, ohne eine neue Session zu etablieren. Wie kann ich das realisieren? Habe folgendes versucht:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
...
#holt vorhandene id aus cookie, falls vorhanden...
$cookie = $request->cookie(-name=>"session");
$session = new CGI::Session("driver:File", $cookie,{'Directory'=>"$session_dir"}) or die $!;

$session->param('name', 'peter');
$session->flush();
$id = $session->id();
print "Set-Cookie: session=$id; domain=$ENV{'HTTP_HOST'}; path=/\n";
...


, doch das Parameter wird in der Server-Datei der Session nicht geändert.

Bin ratlos!

Hilfe, Bitte!

mfg pearl-man
<< >> 1 entry, 1 page



View all threads created 2005-11-29 17:05.