In der PHP -Entwicklung ist die Verwendung der Funktion der Header () für die Umleitung von Seiten eine übliche Praxis. Zum Beispiel:
header("Location: http://m66.net/anotherpage.php");
exit;
Der obige Code leitet den Benutzer auf die Seite http://m66.net/anotherpage.php weiter. Obwohl die Umleitung eine sehr einfache und übliche Operation ist, begegnen Sie manchmal auf leere Seiten, insbesondere bei der Verwendung der Header () -Funktion. In diesem Artikel wird die Gründe erklärt, warum die Seite leer ist, und liefert einige Fehlerbehebung und Lösungen.
Die Header () -Funktion muss vor einer HTML -Ausgabe aufgerufen werden. Wenn der HTML -Inhalt (z. B. Leerzeichen, Zeilenumbrüche, Fehlermeldungen usw.) ausgabe wurde, bevor die Funktion Header () aufgerufen wird, wirft PHP einen Fehler auf und die Umleitung wird nicht wirksam, was möglicherweise dazu führt, dass die Seite leer ist.
Lösung:
Stellen Sie sicher, dass die Header () -Funktion zuvor keine Ausgabe hat. Sie können prüfen, ob es zwischen dem Beginn der Datei und dem Header () -Anruf Leerverbrennungen oder HTML -Inhalte gibt.
Es ist am besten, zu Beginn der Datei keine Leerzeichen oder Newlines zu haben, um eine unerwartete Ausgabe zu vermeiden. Sie können überprüfen, ob die Datei korrekt codiert wird, indem Sie sich den BOM (Byte Order Marker) der Datei ansehen, um sicherzustellen, dass sie keine zusätzlichen Whitespace -Zeichen enthält.
Schritte zur Fehlerbehebung:
Öffnen Sie die PHP -Datei und bestätigen Sie, dass vor der Funktion Header () keine Ausgabe vorhanden ist.
Verwenden Sie bei Bedarf Ob_Start () , um die Ausgangspufferung zu ermöglichen, um eine frühzeitige Ausgabe zu vermeiden.
<?php
ob_start(); // Ausgangspufferung einschalten
header("Location: http://m66.net/anotherpage.php");
exit;
ob_end_flush(); // Reinigen Sie den Ausgangspuffer und geben Sie den Inhalt aus
?>
Die Header () -Funktion beendet die Skriptausführung nicht sofort, und das Skript stoppt die Ausführung nur dann, wenn die Funktion exit () oder Die () anschließend aufgerufen wird. Wenn Sie nach dem Aufrufen von Header () nicht aufgerufen werden, kann PHP weiterhin nachfolgende Code ausführen, was auf der Seite leer oder Fehler führt.
Lösung:
Rufen Sie exit () unmittelbar nach der Funktion Header () auf, um sicherzustellen, dass das Skript die Ausführung beendet und kein anderer Inhalt ausgegeben wird.
header("Location: http://m66.net/anotherpage.php");
exit; // Stellen Sie sicher, dass das Skript die Ausführung beendet
Sie können überprüfen, ob die Header -Informationen über die Funktion Header_Sent () gesendet wurden. Wenn der Browser die Header -Informationen erhalten hat, wenn die Funktion der Header () aufgerufen wird, kann PHP die Header -Informationen nicht erneut senden, was zu einem Umleitungsfehler führt.
Lösung:
Verwenden Sie vor dem Aufrufen der Funktion Header () die Funktion Header_Sent () , um zu überprüfen, ob die Header -Informationen gesendet wurden.
Wenn der Header gesendet wurde, kann Ob_Start () verwendet werden, um die Ausgabe zu puffern.
if (!headers_sent()) {
header("Location: http://m66.net/anotherpage.php");
exit;
} else {
echo "Nicht in der Lage, umzuleiten,Die Headerinformationen wurden gesendet";
}
Seitenblanks können durch PHP -Fehler verursacht werden. Standardmäßig zeigt PHP keine Fehlermeldungen an, sondern auf leere Seiten direkt aus. Sie können prüfen, ob potenzielle Probleme vorhanden sind, indem Sie den Fehlerbericht einschalten.
Lösung:
Aktivieren Sie während der Entwicklung die PHP -Fehlerberichterstattung, um potenzielle Fehler zu erkennen und zu beheben.
error_reporting(E_ALL); // Schalten Sie alle Fehlerberichte ein
ini_set('display_errors', 1); // Auf der Seite Fehler anzeigen
Stellen Sie beim Umleiten der Funktion der Header () sicher, dass der richtige HTTP -Statuscode verwendet wird. Der Standard -Umleitungsstatuscode beträgt 302 (temporäre Umleitung). Wenn Ihre Weiterleitung dauerhaft ist, sollten Sie einen 301 -Statuscode verwenden.
header("Location: http://m66.net/anotherpage.php", true, 301); // Permanente Umleitung
exit;
Durch die oben genannten Schritte zur Fehlerbehebung können wir das Problem von Page leer erkennen und lösen, wenn wir mithilfe der Funktion Header () umgeleitet werden. Zu den wichtigsten Inspektionspunkten gehören:
Stellen Sie sicher, dass es vor dem Header () -Anruf keine Ausgabe gibt.
Rufen Sie exit () an, um sicherzustellen, dass das Skript die Ausführung endet.
Überprüfen Sie, ob die Header -Nachricht gesendet wurde.
Schalten Sie den Fehlerbericht ein, um festzustellen, ob andere Fehlermeldungen vorhanden sind.
Durch diese Maßnahmen können Sie das Problem von Seitenwolken vermeiden und die Weiterleitungen ordnungsgemäß funktionieren lassen.
Verwandte Tags:
header