perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 34
Click for quality!




08.02.2012 / 22:47

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  CGI: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragCGI::Session Parameter nachträglich ändern?
Seitenanfang
Sers,

habe mit folgendem Code eine Session etabliert:


...
$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:


...
#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

Datum: 28.11.2005-12:32

Beitragre: CGI::Session Parameter nachträglich ändern?
Seitenanfang
Hi pearl-man,

benutze selbst nur Serverseitige Sessions die in einer Tbl abgelegt sind.

Da du aber auch das CGI::Session Modul benutzt sollte es bei dir auch funktionieren:

(Anmerkung: wichtig ist die Zeile undef($seesion)!)

session-param erzeugen:

$session=new CGI::Session [...]
$session->param('param','value');
undef($session);

session-param auslesen:

$session=new CGI::Session [...]
$value=$session->param('param');
undef($session);

Gruß
mat

Datum: 01.12.2005-13:14

-






-
-