session cookie

Mo1k

Mitglied
Hallo,

ich habe eine kleine Verständnissfrage:
Ich will die Parameter des Sessioncookies beim login festlegen, jetzt steht im php Handbuch dass ich session set cookie params jedes mal vor session start ausführen muss, wird dann aber nicht die ablaufzeit des cookies jedes mal resettet wenn ich jetzt nicht nur im loginscript sondern überall in der Website die parameter bestimme ?

Mo1k
 
aber mit session_get_cookie_params bekomme ich doch nur die aktuellen Parameter, ich möchte aber gerne dass beim ersten starten der Session die Parameter des Sessioncookies geändert werden und ich wollte wissen, ob ich session set cookie params dann jedes mal auf der Website ausführen soll, oder ob es reicht wenn beim Login ( erstellen des Sessioncookies ) einmal die Parameter zu bestimmen.

Mo1k
 
Ehrlich gesagt, kenne ich mich mit Cookies nicht sehr gut aus.
Aber bei php.net steht doch in der Beschreibung folgendes:
php.net hat gesagt.:
Setzen der Cookie-Parameter, die in der php.ini definiert sind. Diese Funktion wirkt sich nur für die Dauer des Scripts aus. Folglich müssen Sie session_set_cookie_params() bei jeder Anfrage und noch vor dem Aufruf von session_start() aufrufen.
 
ja genau und da bin ich mir nicht ganz sicher, beim login starte ich eine Session wo dann auch das Cookie gesetzt wird, und davor setzte ich mit session_set_cookie_params() die Parameter fest . Wenn ich jetzt eingeloggt bin muss ich ja wieder session start ausführen und ich weis jetzt nicht ob das cookie dann wieder überschrieben wird und dann wieder die alten Parameter eingesetzt werden oder ob das Cookie nicht angerührt wird.

Mo1k
 
Es werden nur die Einstellungen verändert, nicht der Inhalt.
Im Login-Bereich muss immer folgendes stehen:
PHP:
session_set_cookie_params(...);
session_start();
 
gut ok , aber das ablaufdatum wird dann nicht geändert oder ? Also zb habe ich beim login festgelegt dass das Cookie 1 Stunde halten soll, und wenn jetzt bei jedem seitenwechsel session_set_cookie_params(...); ausgeführt wird und da dann auch 1 Stunde festgelegt ist wird das ursprüngliche ablaufdatum nicht geändert oder ?

Mo1k
 
Ja, wie gesagt du müsstest die Funktion session_get_cookie_params in Verbindung mit ..set... nutzen.
Ich weiß aber gerade nicht, ob ...get... lifetime relativ zurückgibt. Teste einfach mal sowas oder suche mal bei Google nach "login skript phg"
PHP:
<?php
  // test1.php
  session_set_cookie_params(3600);
  session_start();
 ?>

<?php
  // test2.php
  $lifetime = session_get_cookie_params();
  $lifetime = $lifetime['lifetime';
  exit($lifetime);
?>
 
ok habs mal ausprobiert, und das Ergebnis war, dass sich nach dem Seitenwechsel wieder die alten Einstellungen aktiviert haben... gibt es noch einen anderen weg die Parameter zu ändern ohne sie in den php Einstellungen direkt auf dem Server zu ändern ?
 
Mo1k hat gesagt.:
ok habs mal ausprobiert, und das Ergebnis war, dass sich nach dem Seitenwechsel wieder die alten Einstellungen aktiviert haben...
Woher weißt du das? Die Idee war, du speicherst wann er sich eingeloggt hat, dann führst du bei jedem Seitenstart ...get... und ...set... aus und rechnest die noch fehlenden Minuten bis zu einer Stunde aus.
 
Zurück