phpbar.de logo

Mailinglisten-Archive

[php] Session Handling

[php] Session Handling

Ralf Eggert r.eggert at travello.de
Sam Okt 21 17:49:17 CEST 2006


Hallo Lutz, Niels und Niels,

erst einmal danke für Eure Kommentare. Um 3b) zu realisieren, frage ich
mich aber folgendes:

Wenn ich session_start() aufrufe wird entweder eine neue Session
erstellt oder eine vorhandene "geladen". Ich will nun prüfen, ob eine
Session vorhanden ist und ob dort eine bestimmte Variable belegt ist,
ohne dass jedes Mal gleich die Session gestartet wird.

Konkretes Beispiel: Ich habe eine Tabelle mit Benutzerdaten. Diese kann
ich sortieren und ich kann nach Benutzernamen oder E-Mail Adressen
suchen. Wenn ich selektiere, werden die Eingaben in der Session
gespeichert. Wenn ich diese Seite nun verlasse und wieder aufrufe und
die Session weiterhin aktiv ist, möchte ich prüfen, ob eine Session
vorhanden ist und falls ja, möchte ich auf die in der Session
gespeicherten Werte zugreifen.

Wie würde so etwas funktionieren? Ich kann dann ja, wenn ich 3b)
realisieren möchte, nicht bei jedem Seitenabruf session_start()
aufrufen. Macht es Sinn, erst $_COOKIE abzufragen, ob ein Session Cookie
vorhanden ist, also so (Pseudocode):

  if ($form->wasSend())
    session_start();
    $_SESSION['selection'] = $form->data;
  elseif (isset($_COOKIE['mysession']))
    session_start();
    $form->data = $_SESSION['selection'];
  else
    $form->data = array();

Oder gibt es da einen besseren Weg?

Gruß,

Ralf

php::bar PHP Wiki   -   Listenarchive