phpbar.de logo

Mailinglisten-Archive

[php] PHP4 Sessions

[php] PHP4 Sessions

Tobias Ratschiller tobias_(at)_dnet.it
Wed, 21 Jul 1999 15:35:51 +0200


Hallo Leute,

wie mittlerweile bekannt sein dürfte, bietet PHP4 erstmalig ein eigenes
Modul für Session-Management. Hier eine kurze Übersicht über die
Session-Funktionen (bis die Doku soweit ist):

session_start - startet eine Session
session_destroy - beendet eine Session und zerstört zu ihr gehörende Daten
session_name - gibt den Namen der aktuellen Session zurück oder (wenn mit
Parameter aufgerufen) startet eine neue Session unter dem übergebenen Namen
session_id - gibt die aktuelle Session ID zurück oder (wenn mit Parameter
aufgerufen) öffnet die Session mit eer übergebenen ID
session_is_registed - überprüft, ob eine Variable bei der aktuellen Session
registriert ist
session_register - registriert eine Variable für die aktuelle Session
session_unregister - löscht eine Variable von der aktuellen Session
session_encode - gibt eine serialisierte Version der aktuellen Session
zurück
session_decode - dekodiert eine serialisierte Session und initialisiert die
entsprechenden Variablen

Funktionen, die bei mir nicht funktionieren oder (noch) keinen Sinn machen,
habe ich weggelassen.

Ein Mini-Beispiel:
<?
session_start();
echo $foo;
$foo = "cool";
session_register("foo");
?>

Im Backend des Session-Codes sind einzelne Module verantwortlich für das
Speichern und Laden der Session-Daten; bislang ist nur ein Modul realisiert,
das die Session auf das lokale Dateisystem speichert, doch es dürfte nicht
lange dauern, bis es MySQL-etc-Module gibt. Außerdem lässt der Source
vermuten, daß Sascha Callbacks nach Userland implementieren will - damit
könnte man dann eigene Funktionen in PHP zum Speichern&Laden von
Session-Daten schreiben (Sessions nach XML speichern... *träum*).

IMHO ist das integrierte Session-Management eine geniale Sache - endlich ein
in PHP integrierter Standard.
Ein Nachteil: Es ist zwar möglich, komplett auf Cookies zu verzichten wenn
der Benutzer sie deaktiviert hat, aber PHP4 versucht trotzdem bei jedem
Request ein Cookie zu setzen. Im Code gibt's eine Variable send_cookie=1,
aber soweit ich gesehen habe, ist die nicht zur Laufzeit änderbar. Es wäre
schön, wenn man bei session_start() angeben könnte, ob Cookie gesendet
werden sollen oder nicht.

Mit freundlichen Grüßen,
  Tobias "v4" Ratschiller



php::bar PHP Wiki   -   Listenarchive