header-Umleitung funktioniert nicht? Ursache finden …

Wenn’s mit dem

header('Location: http://www.example.com');

mal nicht funktioniert, liegt es daran, dass schon eine Ausgabe vorher stattgefunden hat.

Manchmal kann es aber durchaus kompliziert sein, diese Ausgabe zu finden, teilweise meldet auch das error.log nichts, dann hilft dir eine freundliche PHP-Funktion weiter, die du zu Testzwecken direkt vor das header-Kommando stellst:

$file = ''; 
$line = ''; 
headers_sent($file, $line); 
print_r($file, $line);

headers_sent zeigt dir nun die Stellen , die vorher bereits eine Ausgabe durchgeführt haben.

4 Gedanken zu „header-Umleitung funktioniert nicht? Ursache finden …

  1. Jannik

    Neben dieser vollkommen valider Methode, gibt es noch einen „automatischeren Weg“.

    Wenn man die Fehler-Ausgabe (oder -Logging) aktiviert hat, sieht man, dass eine Warning geworfen wird (“
    Cannot modify header information – headers already sent“).
    Dort steht dann auch die entsprechende Datei und Zeilennummer.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert