session_start()
sharky
- php
Hallo,
ich möchte eine session starten mit der funktion session_start();
ich bekomme mitunter die php fehlermeldung, dass die funktion nicht existiert. tut sie aber, da die php version sessions unterstützt.
daher die frage, wann soll ich die session initialisieren? ganz am anfang, oder mitten im script...? manchmal bekomme ich auch gar niczts angezeigt.. bin genauso verwirrt, wie das hier klingt ;-)
hat jemand von euch schon mal ähnliches erlebt? kann mir jemand tipps geben?!
vielen dank!
sharky
Hallo,
also die Session auf jeden Fall ganz am Anfang der Datei Starten. Es darf wirklich nichts vorher in der Datei stehen. Auch kein <html> oder so was!
Tobias
Hallo,
durch den Befehl session_start() übernimmt php mehrere Aufgaben:
1. Überprüfung, ob ein "Session-Cookie" vorhanden ist
2. Überprüfung, ob eine Session-Variable durch POST oder durch GET zur Verfügung gestellt wurde
3. wenn ja, wiederherstellung der Sessiondaten aus der Session-Datei
4. wenn nein, Erzeugung einer neuen Sessionnummer und Anlage einer Sessiondatei
5. Setzen eines "Session-Cookies" im HTTP-Header des Outputs
6. Output und Auswertung der Cookie-Accept-Antwort des Clients, falls dieser eine sendet
7. Wenn kein Cookie akzeptiert wird, Fallback auf Sessionnummer in allen <Form ...> als hidden-Variable und in allen URis als GET-Variable
8. Setzen der shutdown-Funktion für das Script, die für die Speicherung der $_SESSION-Variablen in der Sessiondatei beim Beenden oder bei Abbruch des Scriptes verantwortlich ist.
Mit der Funktion headers_sent() kann man abfragen, ob die Header-Daten des HTTP-Headers gesendet wurden. Wenn sie nicht durch session_start() automatisch ausgelöst werden, dann spätestens durch den Beginn des HTTP-Attachements, also durch das erste später im Quellcode des Browsers sichtbare Zeichen in der PHP-Quelldatei. Ob das dort durch echo oder durch reines HTML erzeugt wird, ist egal.
Probier das mit der Kontrollfunktion mal aus für:
setcookie()
session_start()
header()
ist ganz aufschlussreich.
Viel Erfolg und liebe Weihnachtsgrüße aus http://www.braunschweig.de
Tom
so doof es klingt: Schreibweise nochmal und nochmal ueberprueft?