dedlfix: Problem mit $_SESSION

Beitrag lesen

Tach!

Ich kann mich nur wiederholen, was ich schon oft gesagt habe: Kontrollausgaben.

Wenn es Probleme mit dem Programmfluss gibt, bau Kontrollausgaben ein, um zu sehen, welche Teile abgearbeitet werden und welche nicht.

Das Session-Handling an sich ist jedenfalls sehr einfach und sehr zuverlässig.

session_start();

var_dump($_SESSION['test']); echo "\n";

$_SESSION['test'] = time();

var_dump($_SESSION['test']);

Beim ersten Aufruf wirst du einmal null sehen, vielleicht garniert mit einer Notice-Meldung über das nicht vorhandenen "test" sowie eine Zeitangabe. Wenn nach einem Refreshen diese Zeit nun an erster Stelle zu sehen ist, ist der Session-Mechanismus grundsätzlich lauffähig. Wenn dieser einfache Test geklappt hat, liegt das Problem in deiner Programmlogik, zu der ich nicht viel sagen kann, wenn nur Ausschnitte vorliegen.

Sessions benötigen Cookies.[1] Du kannst das nachvollziehen, wenn du dir die Requests in den Entwicklertools anschaust. Da muss beim Erstaufruf ein Set-Cookie in der Serverantwort zu sehen sein und bei Folgeaufrufen muss dieser Cookie im Request mitgesendet werden.

dedlfix.


  1. Oder einen Key an der URL, was man aber nicht macht, weil eine solche URL leicht entwendbar ist und damit die Session übernommen werden kann. ↩︎