Header-Problem nach Upgrade

  • Hi,

    ich habe kürzlich meine Wordpress-Version auf den aktuellsten Stand gebracht und seitdem bekomme ich folgenden Error, wenn ein Archiv aufgerufen wird (z.B.: /category/news/); einzelne Posts und Seiten funktionieren reibungslos.

    Zitat

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/23/d222557478/htdocs/wp-content/themes/contrast-style/header.php:3) in /homepages/23/d222557478/htdocs/wp-includes/pluggable.php on line 771

    Die Header.php sieht folgenderweise aus:

    und die pluggable.php ist noch Standard. Ich hab schon alles mögliche an Tipps und Anleitungen gelesen, aber ich komm nicht mehr weiter. Was mich wunder, dass es bei der älteren Version noch keine Fehler gab.

    Link zum Blog: DeutschRockt!
    Version: 2.6.2

    Wenn noch weitere Infos gebraucht werden, geb ich gerne Auskunft und danke jetzt schon für jegliche Hilfe!

    Einmal editiert, zuletzt von deutschrockt (20. September 2008 um 19:42)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Zeile 3 ist bei dir die Leerzeile. Kannst du diese mal entfernen?
    Ansonsten schau mal hier: WordPress Deutschland FAQ » »Cannot modify header information …«

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hab alle Leerzeilen gelöscht und nun folgender Fehler:

    Zitat

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/23/d222557478/htdocs/wp-content/themes/contrast-style/header.php:6) in /homepages/23/d222557478/htdocs/wp-includes/pluggable.php on line 771

    Zu der Anleitung

    Zitat

    Dieser Fehler kann z.B. direkt nach der Installation auftauchen, wenn Du Dich zum ersten Mal einloggen möchtest

    . Ist bei mir nicht der Fall, da ansonsten alles funktioniert. Das kommt immer dann, wenn ich die Seite einer Kategorie öffnen will.

  • Hast du die im Folgenden rot markierten Meta's selbst verändert oder ein Plugin dazu ?

    Code
    <link rel="icon" href="http://deutsch-rockt.com/favicon.gif" type="image/gif" />
    <title>DeutschRockt</title>
    [COLOR=Red]<meta name="Description" content="Online-Magazin über deutschsprachige Rockmusik!">
    <meta name="Keywords" content="Deutschrock, Deutsch, Rock, Metal, Heavy, Deutschrockt, musik">
    <meta name="Author" content="Lausitzrocker">
    [size=14][B]<meta name="Content-language" content=[/B][/SIZE][size=14][B]"de[/B][/SIZE]
    [COLOR=Black]<meta name="[/COLOR][COLOR=Black]verify-v1" content="J0kshfa7XiAEvnuNlNVbYIz+La65JSzBmhngPK16D94=" />
    [/COLOR][/COLOR]<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    Die zusätzlich größer hervorgehobene Zeile ist unvollständig! Die Meta's sind nicht korrekt geschlossen wie bei verify-v1 oder den Content-Type.
    Wenn du das nicht händisch gemacht hast, ist ein Plugin dafür verantwortlich und sicher auch der Schuldige an deinem Problem.

  • Hab die Metatags soweit korrigiert, aber es ist immer noch derselbe Fehler :\
    Ob es auch an der archive.php liegen kann, da ja sonst (bei einzelnen Posts und Pages) alles problemlos geladen wird?

    Ps: Danke schon mal!!

    Einmal editiert, zuletzt von deutschrockt (19. September 2008 um 21:38)

  • Dann zeig uns doch mal den Inhalt der archive.php.
    Und darf ich mal fragen was das ist:

    Code
    <a href="http://www.deutsch-rockt.com/index.php"><div align="center"><img width="95%"; height="80%"; vertical-align="center" src="http://www.deutsch-rockt.com/header.gif"></img></div></a>

    Nebenbei, vielleicht schaust du auch mal auf einige Fehler: http://validator.w3.org/check?uri=http…lidator%2F1.591

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (20. September 2008 um 11:22)

  • Das war die Headergrafik, Tags hab ich soweit korrigiert, aber daran lag es nicht, da der Fehler auch kam, als ich es entfernt hatte.

    Archive.php

  • Kurz zum Verständnis:

    Wenn die Fehlermeldung lautet "...headers already sent..." bedeutet dies nicht - wie hier angenommen -, dass etwas mit der [FONT=Courier New]header.php[/FONT] nicht stimmt. Um das zu verstehen muss man den Aufbau einer HTTP-Anfrage verstehen, vereinfacht ausgedrückt: Wenn dein Browser eine Seite anfordert und eine Antwort vom Server erwartet, schickt dieser vor der eigentlichen Seite (das, was du als Quellcode betrachten kannst) noch zusätzliche Informationen (z.B. Datum, Zeichensatz, Länge des folgenden Content-Bereiches, etc.) - den HTTP-Header.

    Gemäß RFC muss (!) der Header (genauer: die Header (-Informationen)) vor dem Content (der Seite) übertragen werden, alles andere erzeugt Fehler.

    Bei PHP ist es nun möglich eigene Header-Informationen zu senden, dazu gibts den Befehl [FONT=Courier New]header()[/FONT] (siehe PHP: header - Manual). Um diesen nutzen zu können, darf vor dem Aufruf dieses befehls noch nichts vom Content gesendet worden sein, auch keine Leerzeile oder Leerzeichen. Beispiel:

    PHP
    <?php
    /*
      Dies erzeugt einen serverseitigen Fehler: zuerst wird Inhalt ausgeliefert,
      danach kommen aber noch Header-Informationen.
    */
    echo ' ';
    header('Content-type: image/png');
    ?>
    PHP
    <?php
    /*
      Dies erzeugt einen Fehler auf Browserseite: Zwar wird zuerst der Header
      ausgeliefert, aber der Inhalt passt nicht zur Information (ein PNG-Bild
      beginnt nicht mit einem Leerzeichen ;-))
    */
    header('Content-type: image/png');
    echo ' ';
    ?>

    Dein problem liegt also jetzt darin, dass irgendwo etwas ausgegeben wird, was dort nicht ausgegeben werden darf. Die Fehlerquelle ([FONT=Courier New]/wp-includes/pluggable.php:771[/FONT]) zeigt mir, dass von irgendwo [FONT=Courier New]wp_redirect()[/FONT] aufgerufen wird.

    Nutzt dein Theme eine [FONT=Courier New]functions.php[/FONT]? Wenn ja, poste die mal hier.

    LG
    Dominik

    //Edit:
    Was ist mit

    PHP
    <?php require('post.php'); ?>


    in der [FONT=Courier New]archive.php[/FONT]? Das scheint mir sehr merkwürdig...


    Einmal editiert, zuletzt von Karbrüggen (20. September 2008 um 16:55)


  • //Edit:
    Was ist mit

    PHP
    <?php require('post.php'); ?>

    in der [FONT=Courier New]archive.php[/FONT]? Das scheint mir sehr merkwürdig...

    Das scheint es zu sein (!). Wenn ich die Zeile entferne, dann ist der Fehler weg, aber es kommen eben auch keine Beiträge mehr.

    Functions.php

    PHP
    <?php
    if ( function_exists('register_sidebars') )
        register_sidebars(2, array('before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>'));
    ?>

    Einmal editiert, zuletzt von deutschrockt (20. September 2008 um 17:05)

  • [FONT=Courier New]...post.php...[/FONT]

    Das scheint es zu sein (!). Wenn ich die Zeile entferne, dann ist der Fehler weg, aber es kommen eben auch keine Beiträge mehr.

    Ist ja auch logisch weil du dann eine leere Schleife hast ;-)

    Wenn dein Archiv in dem Layout der Startseite erscheinen soll, kannst du den Inhalt der Schleife der [FONT=Courier New]index.php[/FONT] bzw. [FONT=Courier New]home.php[/FONT] hierein kopieren, dann sollte es laufen.

    Interessant wäre aber auch zu wissen, wodurch denn der Fehler genau entstanden ist, zumindest mich würde die [FONT=Courier New]post.php[/FONT] brennend interessieren...

    LG
    Dominik


  • Weil du es bist ;)

    post.php

    Hmm die schleife müsste in der Archive.php drin bleiben, da sonst bei den einzelnen Kategorien ja gar nix erscheint. Als Startseite hab ich ne feste Seite und dann wird man auf eine spezielle Kategorie weitergeleitet...

    Aber der Fehler kann ja nicht mehr fern sein.

    Einmal editiert, zuletzt von deutschrockt (20. September 2008 um 17:35)

  • PROBLEM IST GELÖST.
    Ich habe einfach den Inhalt der post.php ind die Schleife in der archive.php eingefügt!

    Das schaut nund so aus:

    archive.php


    [size=12]
    Vielen Dank![/SIZE]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!