Tom: Wie funktioniert Session_Start()

Beitrag lesen

Hello,

Selbst auf diesen Teil vollständig reduziert, tacuht dasselbe Problem auf
<?php
session_start(SID);

Wozu machst Du denn das?
Die Funktion session_start() suhct nach der bereits vergebenen und vom Client mitgesandten Session-ID in den ihr bekannten Variablen ($_COOKIE, $_POST, $_GET) unter dem Elementnamen, den man mit session_name() abfragen oder auch setzen kann.

Wenn man eine Session vom Client also wieder aufnehmen will, braucht man also session_start() keine Daten zu übergeben. Das Übergeben einer ID würde dazu führen, dass eine bestimmte Sessiondatei wiederbenutzt wird, die aber nicht in Zusammenhang mit dem Client stehen muss.

Außerdem bin ich mir im Moment unsicher, ob die Konstante SID überhaupt schon existiert, bevor man session_start() aufgerufen hat. Nach meiner Erinnerung wird die nämlich erst dadurch erzeugt und in das superglobale Scope des Scriptes importiert, dass man session_start() aufruft. Wenn session_start() in den vorbezeichneten Variablen eine gültige Sessionnummer gefunden hat, ist diese Konsante außerdem ein Leerstring.

Das was Du dort oben versuchst, wird entweder die Session mit dem String 'SID' versuchen, oder  aufgrund der Typumwandlung von PHP dazu führen, dass eine Session mit dem Wert 0 aufgebaut werden soll (das habe ich nicht nachgeschaut, was ankommt). Beides stellt aber keine gültige Sessionnummer dar. Die muss eine hexadezimale Zahl von 32 Stellen Länge sein, sonst lehnt PHP sie ab und versucht, eine neue Session zu starten.

Harzliche Grüße aus
Sankt Andreasberg
und Frohes Neues Jahr

Tom

--
Nur selber lernen macht schlau