Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Vorsichtsmaßnahmen für PHP-Header(„location: $url“)-Seitensprünge

Zusammenfassung der Vorsichtsmaßnahmen für PHP-Header(„location: $url“)-Seitensprünge

伊谢尔伦
伊谢尔伦Original
2017-06-23 14:06:337397Durchsuche

Wenn Sie header("location:test.php") verwenden, um in PHP zu springen, beachten Sie bitte die folgenden Punkte, um einige Probleme zu lösen, auf die Anfänger häufig stoßen

1. Zwischen Standort und „:“ darf kein Leerzeichen stehen, da sonst ein Fehler auftritt.

2. Es kann keine Ausgabe erfolgen, bevor der Header verwendet wird.

3. Der PHP-Code nach dem Header wird ebenfalls ausgeführt.

Das Folgende ist ein Vergleich mit der Umleitungsantwort.redirect in asp:

Beispiel 1:

response.redirect"../test.asp"
header("location:../test.php");

Der Unterschied zwischen den beiden:

ASPs Redirect-Funktion kann nach dem Senden der Header-Datei an den Client funktionieren

Zum Beispiel

<html>
<head>
</head>
<body>
<%response.redirect"../test.asp"%>
</body>
</html>

, wenn Sie Folgendes überprüfen Beispielcode in PHP, ein Fehler wird gemeldet:

<html>
<head>
</head>
<body>
<?php
header("location:../test.php");
?>
</body>
</html>

Dies kann nur so erfolgen:

<?php
header("location:../test.php");
?>
<html>
<head>
</head>
<body>...
</body>
</html>

Das heißt, es können vor dem keine Daten an den Kunden gesendet werden Header-Funktion.

Beispiel 2:

asp

<html>
<head>
</head>
<body>
<%
response.redirect"../a.asp"
response.redirect"../b.asp"
%>
</body>
</html>

leitet eine.asp-Datei um

php?

<?php
header("location:../a.php");
header("location:../b.php");
?>
<html>
<head>
</head>
<body>
</body>
</html>

Wir haben festgestellt, dass b.php umgeleitet wird.

Es stellt sich heraus, dass nach der Ausführung der Umleitung in ASP der folgende Code nicht ausgeführt wird.

Und PHP wird weiterhin ausgeführt Folgender Code nach der Ausführung des Headers.

In diesem Zusammenhang ist die Ausrichtung des Headers in PHP nicht so gut wie die Umleitung in ASP. Manchmal können wir den folgenden Code nach der Umleitung nicht ausführen Im Allgemeinen verwenden wir

, wir können aber auch einfach die folgende Methode verwenden:
if(...)
header("...");
else
{
...
}

Beachten Sie außerdem, dass Probleme auftreten, wenn Sie die Unicode-Codierung (UTF-8) verwenden und dies benötigen um die
if(...)
{header("...");exit();}
Cache-

-Einstellungen anzupassen

Das obige ist der detaillierte Inhalt vonZusammenfassung der Vorsichtsmaßnahmen für PHP-Header(„location: $url“)-Seitensprünge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn