Session_Start() Fehler!

Blaubmania

Erfahrenes Mitglied
Also lokal auf meinen Rechner (arbeite mit xampp) funktioniert die Session Geschichte. Jetzt dachte ich ich lade den ganzen Mist mal hoch ins Netz jetzt habe ich die Seite aufgerufen und folgenden Fehler gekriegt:
Code:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php:6) in /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php on line 34
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php:6) in /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php on line 34

Diese Meldung krieg ich auf jeder Seite wo session_start() drinnen steckt.

Wo könnte mein Fehler liegen bin für jede Hilfe dankbar.
 
Die Lösung liegt in Deiner Frage:

Blaubmania hat gesagt.:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php:6) in /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php on line 34
session_start muß am Anfang kommen, bevor andere Ausgaben erfolgen, da es ein Cookie mitsendet, also vor Zeile 6, nicht erst in 34!

Micha
 
Du darfst keine anderen Zeichen ausgeben, bevor irgendwelche Headers gesetz werden. Und session_start() setzt nunmal einen Cookie. Schreib den Aufruf von session_start() ganz an den Anfang jeder Datei.
 
Danke ^^ also session_start() musste in die 1. Zeile vom Dokument. Danke für die schnelle Hilfe ach und sry falls die Frage schon zum 100. Mal auftaucht hab vergessen die Suchfunktion zu nutzen.
 
Ich bin da ganz anderer Meinung!

Du musst session_start() ganz und garnicht in die erste Zeile schreiben. Es tut auch am Anfang des Dokuments

OB_START()

und am Ende OB_END_FLUSH()

Das ist das eine. Das andere ist was ich bei dir vermute da nicht nur eine Fehlermeldung kam, ist das Linux mit Windows spezifischen Leerzeichen arbeiten kann. Gerade das törnt den gebrauch von Linux ab, ist aber wieder ne andere Sache.

Bei mir war das vor kurzem auch so. Meine Webseite leif Monate lan ohne diesem Fehler, und auf einmal tauchte dieser ständig auf.

So bekommst du es weg. Das aller erste im Dokument ist ein <?

bzw <?php

und das aller letzte ein ?>

und nach diesem ?>sollten weder freie Zeilen noch splaten sein.
dh. du musst alle Leerzeilen und Spalten mit der löschtaste entfernen. Und Zack gehts wieder!

meine session_start wird erst durch die 7te includete Datei gestartet, und es geht auch!

PS. ich denke es ist sinnlos eine Session zu starten, befor man nicht mal sicher ist ob die DB keine Fehler aufweist oder überlastet ist. Leider peilt Linux nicht, und denkt dass nach ?> eventuell flush() spezifischer Befehle kommen könnten.(Aber auch nur sofern das Dokument unter Windows erstellt wurde).

Solche Überaschungen wirst du unter Linux öfters erleben. Es ist leider wirklich so das Linux den header genauer haben will wie Windwos.

Ich habe Beispielweise ein Upload geschrieben. Auf meinem Winserver 0 Probs. Unter meinem Strato Linux Businessserver eine Fehlerkatastrophe! Damit möchte ich Linux nicht schlecht reden. Aber es beweist sich was eben Anwenderfreundlich ist.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php:6) in /home/www/htdocs/projekt-x2005.de/aufgabenpool/login.php on line 34

Sagt eben aus dass ein header bereits unterwegs war bzw ist. Interessant ist manchmal wo das sein sollte. Ich dachte auch schon ich müsste nach 4 Jährigen praktizeiren von php auch von vorne anfangen. Aber dem muss eben nicht gleich so sein.

Dacher immer daran denken, sofern mal was unter Linux nicht geht aber unter win läuft an einfache Lin Probleme denken. Anderstherum an Win Probleme denken.

Weil php läuft unter beiden gleich.
 
Zuletzt bearbeitet von einem Moderator:
Zurück