Grundsatzfrage zu Sessions

WiZdooM

Erfahrenes Mitglied
Hi

ich hab noch nicht alle Eventualitäten im Zusammenhang mit Sessions kapiert.
Ich habe eine "template"-Datei in die ich via iframe (fragt mich nicht warum das so gemacht wurde aber es wurde so gemacht) meine Formulare einbinden muss. Innerhalb meiner Formular php's starte ich eine Session (bzw verwende die aktuelle), die mir beim post meine Variablen speichern soll (siehe http://www.tutorials.de/forum/php/329727-viele-variablen-ueber-mehrere-seiten-verwenden.html)

Obwohl in den Formularen die session_start();-Funktion der erste Eintrag ist, erhalte ich die "headers already sent"-Exception.
Kann es sein, dass die Session in der aufgerufenen Datei und nicht in der "eingebundenen" Datei gestartet werden muss ?
 
Jap. Es darf keine Ausgabe vor dem Starten einer Session erfolgen. Da zählen alle Ausgaben dazu, auch jene, die nicht durch die Datei veranlasst wurden, welche die Session eigentlich starten.
Du könntest die Ausgabe auch buffern ([phpf]ob_start[/phpf]), dann ist es auch möglich, Sessions zu einem späteren Zeitpunkt zu starten, da die Ausgabe erst am Ende des Scripts an den Browser gesendet wird (es sei denn, sie wird manuell per [phpf]flush[/phpf] oder ähnliches gesendet).
 
Huhu

Die UTF-8-BOM-Fehlerquelle habe ich bereits seit dem ersten Tag ausgemerzt und ist immer die erste Anlaufstelle gewesen.

Mittlerweile gehts, bin aber nicht sicher obs daran lag, dass mein Save-Pfad nicht-existent war oder nicht. Ich habe zur Sicherheit einfach einen session_start(); in die "Template"-Dateien geschrieben.

Aber zu meiner Frage aus dem 1. Post: Wo gehört denn der session_start(); hin ? In die aufrufende (Template) oder in die verarbeitende Datei (Formular)?
 
Das kommt auf den Aufbau deiner Seiten an, ich würde die Seesion in der Index starten oder in deiner Datei die immer eingebunden wird und dies vor einer Ausgabe an den Browser
 
Zurück