kostenloser Webspace werbefrei: lima-city


Session Header Problem auf Server

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    makawa

    makawa hat kostenlosen Webspace.

    Hallo alle zusammen.
    Ich sitze seit einiger Zeit an einem Problem, für das ich keine Lösung fonden kann.

    Ich habe mir für mein kleines CMS einen Administrationsbereich. Offline auf meinem Localhost (XAMPP) hat alles super funktioniert, nur jetzt, als ich alles hochgeladen habe, gibt es immer eine Fehlermeldung:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /XXX/XXX/index.php:1) in /XXX/XXX/XXX/session.php on line 6


    Die session.php wird in die index.php includet. Erstmal dachte ich, ich hätte irgendwo ein Lehrzeichen oder so, aber da ist nichts:

    <?php
    error_reporting(E_ALL);
    include ('XXX/XXX/admin.class.php');
    include ('../XXX/XXX/session.php');
    include ('../XXX/XXX/config.php');


    Hat irgenjemand sonst noch eine Idee woran das liegen könnte?

    Viele Dank schonmal im vorraus
    Makawa
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Die Fehlermeldung sagt dir, dass in der index.php etwas ausgegeben wird... ob Leerzeichen oder Zeilenumbruch oder Text ist hierbei völlig egal.

    Normal steht in der Warnung auch wo was ausgegeben wird, aber das kann ich gerade nicht lesen, weil der Android-Browser die Meldung abschneidet :-(

    // EDIT (von einem richtigen PC aus):
    Meine Vermutung hat sich bestätigt. Hast du eventuell eine Leerzeile am Anfang der index.php?

    Beitrag zuletzt geändert: 4.10.2012 18:53:22 von hackyourlife
  4. Autor dieses Themas

    makawa

    makawa hat kostenlosen Webspace.


    Meine Vermutung hat sich bestätigt. Hast du eventuell eine Leerzeile am Anfang der index.php?

    Nein eigentlich nicht. Deshalb habe ich ja extra den Anfang hochgeladen.
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    makawa schrieb:

    Meine Vermutung hat sich bestätigt. Hast du eventuell eine Leerzeile am Anfang der index.php?

    Nein eigentlich nicht. Deshalb habe ich ja extra den Anfang hochgeladen.
    Zumindest sagt das die Fehlermeldung:
    output started at /XXX/XXX/index.php:1

    Bist du dir sicher, dass du in keiner der Dateien vor dem
    <?php
    auch nur ein einziges Zeichen hast (Leerzeichen, Zeilenumbruch, Tabulator oder sonst was)?
  6. Autor dieses Themas

    makawa

    makawa hat kostenlosen Webspace.

    hackyourlife schrieb:
    Bist du dir sicher, dass du in keiner der Dateien vor dem
    <?php
    auch nur ein einziges Zeichen hast (Leerzeichen, Zeilenumbruch, Tabulator oder sonst was)?


    Ja. Ich habe mir die Datei extra nochmal in zwei anderen Editoren angeschaut.
    Was mich wundert ist allerdings, dass auf meinem localhost alles funktioniert.
  7. hallo

    die Meldung "headers already sent" deutet aber darauf hin,
    das irgendwo schon eine Ausgabe vor session_start() drein ist

    es kann auch am Ende der includeten PHP-Dateien sein,
    also am Ende nach ?> noch ein Leerzeichen oder Zeilenumbruch ?

  8. Prüfe ob das Byte-Order-Mark (BOM) im Editor aktiviert ist. Das muss in PHP auf jeden Fall entfernt/deaktiviert werden.

    Zu localhost: Der wird standardmäßig den Ausgabepuffer aktiviert haben, deshalb zeigt er da nichts an.
  9. Autor dieses Themas

    makawa

    makawa hat kostenlosen Webspace.

    chatter schrieb:
    Prüfe ob das Byte-Order-Mark (BOM) im Editor aktiviert ist. Das muss in PHP auf jeden Fall entfernt/deaktiviert werden.


    Danke da scheint das Problem zu liegen. Ich habe die Datei mit Notepad++ jetzt als utf-8 ohne BOM gespeichert. Nun bekomme ich aber an einer Stelle auf meiner Website plötzlich die Zeichenfolge  angezeigt und alle meine Umlaute sind falsch (ö wird zu ö).
    Wie kann ich das jetzt noch ändern?
  10. m******e

    makawa schrieb:
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /XXX/XXX/index.php:1) in /XXX/XXX/XXX/session.php on line 6
    ^^ Was genau steht denn in Zeile 6 der session.php?

    Wird da bereits ein Header gesendet?
  11. menschle schrieb:
    ^^ Was genau steht denn in Zeile 6 der session.php?

    Wird da bereits ein Header gesendet?

    In der Zeile steht, wie auch die Meldung zeigt, session_start ().

    @makawa Woher kommen die Umlaute? Das sieht so aus, als stimmt da irgendwo der Zeichensatz nicht. Gibst du auch im header UTF8 an? DB-Verbindung auch korrekt?
  12. makawa schrieb:
    an einer Stelle auf meiner Website plötzlich die Zeichenfolge  angezeigt

    Das ist der UTF-8 BOM
    also irgend eine Datei ist noch mit dem UTF-8 BOM vorhanden ... ?!


    makawa schrieb:
    und alle meine Umlaute sind falsch (ö wird zu ö).
    Wie kann ich das jetzt noch ändern?


    die Ausgabe (den Header) als UTF-8 festlegen ... in die Zeile nach session_start();

    header("Content-Type: text/html; charset=utf-8");



    und wenn Du einen HTML HEAD (Meta-Tag) mit "Content-Type" hast:
    <head>
    ... 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    ...
    </head>


  13. Autor dieses Themas

    makawa

    makawa hat kostenlosen Webspace.

    chatter schrieb:

    @makawa Woher kommen die Umlaute? Das sieht so aus, als stimmt da irgendwo der Zeichensatz nicht. Gibst du auch im header UTF8 an? DB-Verbindung auch korrekt?


    Ich depp. Hatte den header vergessen. Eine Zeile und alles funktioniert!
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!