[PHP] Cannot modify header information - headers already sent

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Christian91, 23. November 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 23. November 2009
    Cannot modify header information - headers already sent

    Hey Leute, ich hab da ein Problem undzwar spukt mir der Server jedesmal folgenden Fehler aus:

    Warning: Cannot modify header information - headers already sent by (output started at /data/multiserv/users/253593/projects/299528/www/usermenue.php:2) in /data/multiserv/users/253593/projects/299528/www/usermenue.php on line 11

    der besagte Befehl bei mir lautet:

    if(!session_is_registered('user') || $_SESSION['user'] == "") {
    header("location:login.php");
    die;
    }


    Wisst ihr was ich an dem header("location:login.php"); umschreiben kann dass der mir das annimmt? Vielen Dank schonmal im voraus!

    MfG Christian
     
  2. 24. November 2009
    AW: Cannot modify header information - headers already sent

    session_start(), header(), setCookie() usw.., also funktionen die direkt ausgaben der header beeinflussen MÜSSEN vor jeglichen ausgaben erledigt werden.

    eine ausgabe ist:
    - leerzeichen oder beliebiger text/html-content vor <?php oder nach ?>,
    - print, echo und sonstige funktionen die text am browser ausgeben,

    das gilt auch für datein die du includest.
    wenn du zu viel deiner jetzigen struktur ändern müsstest, dann kannst du einfach auf sog. output-buffering zurückgreifen.

    schreib dazu einfach ganz an den anfang der datei die als erstes ausgewertet wird (z.b. header.php oder ganz am anfang der index.php) folgenden code:
    PHP:
    ob_start ();
    und an die letzte datei (z.b. footer.php oder ganz ans ende der index.php) hängst du folgenden code:
    PHP:
    ob_end_flush ();
    alternativ kannst du auch in der php.ini ein buffering aktivieren.
     
  3. 24. November 2009
    AW: Cannot modify header information - headers already sent

    Es darf keine Ausgabe vor dem header ausgeführt werden. Ist das bei dir der Fall?

    Nicht wirklich schön aber wenn mich nicht alles täuscht kannst du das ganze mit
    PHP:
    ob_start ();
    umgehen.


    Ansonsten setz den Part

    PHP:
    if(! session_is_registered ( 'user' ) ||  $_SESSION [ 'user' ] ==  "" ) {
    header ( "location:login.php" );
    die;
    }
    doch einfach mal nach ganz oben in die Seite rein und teste das ganze nochmal.




    E.// Neeeeein zu langsam...^^
     
  4. 24. November 2009
    AW: Cannot modify header information - headers already sent

    Übrigens gibt es auch nen Hinweis wo ne Ausgabe stattgefunden hat: "usermenue.php" in Zeile 2.

    Vielleicht überprüfst du die Stelle mal (siehe hinweise von Murdoc).
     
  5. 24. November 2009
    AW: Cannot modify header information - headers already sent

    Vielen Dank, hat super geklappt, Bewertungen sind raus.

    //CLOSE
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.