Simple Base is an open source CMS. You Simple Base? Support the Team with a coffee.



Sessions werden nicht gespeichert nach refresh/submit

Folgende Situation: Ich habe den Simple Base Installer fertiggestellt und bei mir hat es auch wunderbar funktioniert auf dem Windows 7 Rechner mit Xampp und PHP 5.4. Nun wäre es natürlich zu schön um wahr zu sein, wenn es auch noch wo anders Funktionieren würde (Stichwort "Running on my machine bug"). Beim Versuch Simple Base auf einem Webspace (Linux Server) zu installieren, hat es aber schon probleme gegeben.

Was war das Problem?
Das Problem war, dass man nach dem ersten Schritt, der Eingabe der Datenbankzugangsdaten, die Werte in eine Session-Variable speichert um diese später in der Datei zu schreiben. Wollte man den zweiten Schritt beenden und Simple Base installieren, ist man wieder bei Schritt 1 gelandet. Für mich war es gleich klar, es liegt an der Session. Überall durchgeschaut, nicht verstanden was es sein kann. Die Session liegt vorallem im Schritt 2 noch vor, nach einem Refresh aber nicht mehr. Das (gefühlte) ganze Internet danach abgesucht und nichts (brauchbares) gefunden. Auch das übergeben der SID hat nichts gebracht, genauso wie das aufrufen der Methode session_write_close und schon gar nicht das setzen von ini-Werten. Langsam aber sicher bin ich echt verzweifelt gewesen. Doch dann die Lösung...

Die Lösung: Bevor man etwas ausbibt (echo, reines HTML oder sonst was) muss man die Session starten (session_start()) da Sie sonst nicht gespeichert wird. Da der Installer aber den Header und den Footer immer ausgibt (im nicht PHP-Bereich), habe ich also schon eine Ausgabe gehabt. Nach dem starten einer session BEVOR ich etwas ausgebe, hat es auf einmal funktioniert. Ich hoffe, dass ich euch mit meinem Beitrag helfen konnte und Ihr nicht so lange suchen musstet wie ich.


Kommentare

 

 




Groß- und Kleinschreibung wird nicht beachtet!