Hauptmenü

Untermenü

PHP/MySQL - Sessions - Eine Session starten

1. Die Abschnitte

2. Etwas vorab

Leider geistern zu diesem Thema immer noch unzählige alte Geschichten durch das Internet. Da gibt es dann so seltsame Sachen wie session_register oder $HTTP_SESSION_VARS. Wenn ihr dergleichen findet, verhaltet euch so, als wenn euch mal wieder ein älteres Semester das große Gemetzel im letzten Jahrhundert zu Gehör bringen möchte.

"Oh Gott. Opa erzählt vom Krieg" [Quelle: genervte Nach45er, Hirn auf Off]

Haltet euch wirklich nur an das, was ich euch hier zeige. Es sei denn, ich erzähle irgendeinen Bockmist. In dem Fall schickt mir bitte eine Mail.

3. Eine Session starten

... ist wirklich nur pillepups. Das geschieht mit einem einfachen session_start(). Aber! Auch hier muss man auf dieselben Dinge achten wie bei den Headern. Es darf also keinerlei Ausgabe an den Browser gesendet werden. Sonst haut's euch die übliche Meldung Warning: Cannot modify header information - headers already sent by ... um die Ohren. Und das zu Recht!

Wichtig!

Dieses session_start() muss auf jeder eurer Hauptseiten stehen, sonst funktioniert das nicht. Unter Hauptseiten müsst ihr euch einfach gesagt alle Dateien vorstellen, die nicht includiert werden. Alternativ könnt ihr das in eine Datei packen, die dann auf allen anderen Hauptseiten eingebunden wird.

Also erstellt eine PHP-Datei, klatscht das session_start rein und ruft sie im Browser auf.

4. Die Funktionsweise

Zunächst mal wird auf dem Server(!) eine Datei mit einem eindeutigen Namen angelegt. Darum ist der Dateiname auch recht kompliziert und könnte zum Beispiel so aussehen.

Sessiondatei

Das Cookie

... bekommt nun den Namen, der in session.name in der php.ini vorgegeben ist. Meistens handelt es sich dabei um PHPSESSID. Die wichtigen Einträge habe ich mal rot markiert. Achtet vor allem auf den Inhalt, denn dort ist der Name der Sessiondatei abgespeichert, nur ohne das Praefix sess_. Das wird von PHP automatisch verarbeitet.

Sessioncookie

Ach ja, das bekommt ihr im Firefox mittels "Extras -> Einstellungen -> Datenschutz -> Cookies anzeigen" zu Gesicht. Wie es bei anderen Browsern aussieht? Keine Ahnung, das müsst ihr schon selber herausfinden.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt