Problem mit "session_start()" bei bplaced

Hallo alle zusammen…

mein alter Hoster hat dicht gemacht, und ich bin jetzt gestern umgezogen auf bplaced.
Nun habe ich mein Script übertragen, und bekomme jetzt aber FEHLER bei bplaced angezeigt.

Da hätte ich das hier:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/vmm/www/name/index.php:57) in /users/vmm/www/name/head.php on line 50
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/vmm/www/name/index.php:57) in /users/vmm/www/name/head.php on line 50

Für mich ist nicht veständlich, wieso er aufeinmal mit so einem Fehler kommt?
Auf meinem Altern Webspace hat alles ohne Probleme funktioniert.

Was das jetzt?

Vielleicht könnt ihr mir sagen, wieso mein Script keine Session Starten (session_start()) kann.

Weil dein Script die Hinweise, die bzgl. session_start im Manual stehen, nicht berücksichtigt.

Dann war dort output_buffering per Default aktiviert.

Weil dein Script die Hinweise, die bzgl. session_start im Manual stehen, nicht berücksichtigt.

Dann war dort output_buffering per Default aktiviert.[/quote]

Ich habe das Script aus eigener Hand geschrieben.
Und könntet ihr mir vielleicht sagen, was ich nun machen kann um das Problem zu lösen?

Ich meine… wieso ist hier so etwas deaktiviert?
Fast jede Seite mit Registrierung hat doch Session.

Was nun…?

Ja - im Handbuch nachlesen.

Man braucht kein output_buffering, wenn man seine Scripte vernünftig schreibt.

Stichwort EVA-Prinzip.

Ja - im Handbuch nachlesen.
[/quote]

Meinst du jetzt im PHP Handbuch… oder?

Man braucht kein output_buffering, wenn man seine Scripte vernünftig schreibt.

Stichwort EVA-Prinzip.[/quote]

Ich habe keine Ahnung was du meinst.
Ich hab in meinem Script nur session_start() in der Zeile 50 wie im Fehler erwähnt.
Wenn ich den Code-Teil ausbaue, ist die PHP Fehlermeldung weg.
Aber so funktioniert das Script nicht mehr.

Ich weiß nichtmal was “output_buffering” ist.
Ich bin PHP Anfänger daher :smiley:

Vor session_start() darf keine Ausgabe stattfinden.
Versuch es mal in die erste Zeile zu schreiben.

[quote=“Mgier”]Vor session_start() darf keine Ausgabe stattfinden.
Versuch es mal in die erste Zeile zu schreiben.[/quote]

GENIAL!

Verstehe nur PHP bezogen nicht wieso es nun geht.
Darf vor session_start(); keine Ausgabe stattfinden?
Wusste ich garnicht.

DANKE!

PHP Sessions verwenden üblicherweise Cookies, diese Cookies werden in den HTTP-Header geschrieben (nicht zu verwechseln mit dem HTML Head bereich).
Der HTTP Header enthält Informationen zum Dateiformat (HTML Datei? oder ist es ein Bild?), Dateigröße, Server Informationen und noch einiges mehr.
In dem Moment wenn eine Ausgabe per PHP erfolgt (sogar ein einfaches Leerfeld oder ein Zeilenumbruch außerhalb des PHP Bereiches), wird der HTTP Header an den Browser gesendet, und die Ausgabe gleich hinterher.
Und wenn der HTTP Header hinaus gesendet wurde, gibt es keine Möglichkeit mehr dort irgendwas zu verändern, und somit auch keine Möglichkeit mehr die Sessions per Cookie zu setzen.

Wenn das Outputbuffering Standardmäßig aktiviert ist, wird sämtliche Ausgabe erst in einen Zwischenspeicher gepackt und nicht sofort zum Browser gesendet, was dafür sorgt, dass selbst nach einer Ausgabe der HTTP Header noch nicht rausgesendet wurde und deshalb immernoch veränderbar ist.

nur um dich mal aufgeklärt zu haben :slight_smile:

mfg Balmung

[quote=“Balmung”]PHP Sessions verwenden üblicherweise Cookies, diese Cookies werden in den HTTP-Header geschrieben (nicht zu verwechseln mit dem HTML Head bereich).
Der HTTP Header enthält Informationen zum Dateiformat (HTML Datei? oder ist es ein Bild?), Dateigröße, Server Informationen und noch einiges mehr.
In dem Moment wenn eine Ausgabe per PHP erfolgt (sogar ein einfaches Leerfeld oder ein Zeilenumbruch außerhalb des PHP Bereiches), wird der HTTP Header an den Browser gesendet, und die Ausgabe gleich hinterher.
Und wenn der HTTP Header hinaus gesendet wurde, gibt es keine Möglichkeit mehr dort irgendwas zu verändern, und somit auch keine Möglichkeit mehr die Sessions per Cookie zu setzen.

Wenn das Outputbuffering Standardmäßig aktiviert ist, wird sämtliche Ausgabe erst in einen Zwischenspeicher gepackt und nicht sofort zum Browser gesendet, was dafür sorgt, dass selbst nach einer Ausgabe der HTTP Header noch nicht rausgesendet wurde und deshalb immernoch veränderbar ist.

nur um dich mal aufgeklärt zu haben :slight_smile:

mfg Balmung[/quote]

Danke für deine Ausführlich Erklärung.
Mal hoffen das wir damit auch anderen vielleicht helfen konnten :smiley:
PHP Anfängern wie mir.

Was haltet ihr so grob vom Projekt?

Grob gesagt, nichts. Aber stell es mal im Showroom vor.