phpbar.de logo

Mailinglisten-Archive

[php] Session Handling

[php] Session Handling

Martin Spuetz mas at spuetz.ath.cx
Sam Okt 21 18:29:42 CEST 2006


Ralf Eggert wrote:
> 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.

Ich mach es manchmal über:

if (!session_id()) {
    session_start();
}

>   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?

Meistens mach ich es aber über ein Objekt:

$session = MySession::getInstance();
if ($session["selection"] != null) {
      $form->data = $session["selection"];
}

Der cookie-basierten Übertragung der SessionID ziehe ich dem query
munging aus zwei Gründen vor:

- Sicherheit
- Ästhetik

Gruss,
Martin


php::bar PHP Wiki   -   Listenarchive