Headerfehler den ICH mir nicht erklären kann

  • Hallo,

    ich betone das "ICH" oben, weil ich vermute, dass es mal wieder was völlig logisches ist und ich es nur nicht sehe :wink:

    Ich habe auf meiner Seite roemi.de eine spezielle "Biersuche". Die gleiche Suche hatte ich auch als sep. PHP-Datei im Root um diese auf dem Handy und ohne jedes Geschnörksel ausführen zu können.
    Eigentlich hätte ich damit zufrieden sein können :-D schließlich lief das ganze lange Zeit problemlos.
    Aber jede Änderung musste ich in beiden Dateien vornehmen.
    Also habe ich die Suchfunktion in eine seperaten PHP ausgelagert. Diese wiederrum habe ich in beide Ursprungsdateien eingebunden.
    Local und im Netz funktioniert alles bestens. Rufe ich jedoch auf dem Handy suche.roemi.de auf, dann habe ich (nur auf dem Handy) die im Anhang befindlichen Fehler.

    Das ganze deutet doch auf "Leerzeilen" o.ä. in der aufgeführten Datei hin!? Diese funktioniert sonst aber super und Änderungen würden beim nächsten Update überspielt. Oder??

    Die ersten Zeilen in der Datei im Root lauten wie folgt

    PHP
    <?php
    header('content-type: text/html;charset=utf-8');
    setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
    ?>   
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <?php
    require( './wp-load.php' );


    Die ersten zwei Zeilen benötige ich um sicherzustellen das Umlaute bei der Anzeige dargestellt werden. Das Meta für die Darstellung auf dem Handy.

    Danke

    • 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

  • Du gibst scheinbar schon irgendetwas aus, bevor der Request überhaupt beendet ist. Diese Ausgabe findet vermutlich in der mr_suche.php statt. Eventuell hast du ein Leerzeichen vor dem "<?php" oder vielleicht sogar plain html. Oder aber die Datei ist im Format Utf-8 mit BOM gespeichert (dann convertieren in ohne BOM), oder es gibt einen PHP notice welcher aber nicht angezeigt wird.
    Überprüfe das mal alles, vermutlich ist da irgendwo der Fehler zu finden.
    By the way: die Datei mr_suche.php gehört nicht in das Wordpress Root Verzeichnis sondern entweder in das verwendete Childtheme oder noch besser in ein eigenes kleines Plugin.

  • Ah ich denke ich weiß was das Problem ist, habe erst jetzt deinen Code gechecked:
    Du musst das einbinden der wp-load.php vor dem plain html machen. Denn durch die wp-load.php kommt erst das WP Werkl zum Laufen (inkl aller Plugins etc) und wenn du vorher schon etwas ausgibst haben WP und Plugins keine Möglichkeit mehr sessions oder Cookies zusetzen / zu ändern.

  • Erstmal vielen Dank ... so einfach kann es sein ... Das einbinden erfolgt nun zuerst und es funzt.

    By the way: die ursprüngliche Suche und das ganze Ranking Gedöns sind alle in einem Plugin. Die Suche fürs Handy ist im Root um den Pfad zu verkürzen.
    Wobei es doch eigentlich egal ist wo ich die Datei parke? Oder gibt es einen speziellen Grund Root zu meiden?

    Thx Römi | roemi.de

Jetzt mitmachen!

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