Heim >Backend-Entwicklung >PHP-Problem >Was ist zu beachten, wenn der PHP-Header zur Seite springt?

Was ist zu beachten, wenn der PHP-Header zur Seite springt?

coldplay.xixi
coldplay.xixiOriginal
2020-09-30 10:04:443029Durchsuche

Dinge, auf die Sie achten müssen, wenn Sie zur PHP-Header-Seite springen: 1. Zwischen Standort und „:“ darf kein Leerzeichen stehen, sonst tritt ein Fehler auf. 2. Es kann keine Ausgabe erfolgen, bevor der Header verwendet wird . Der PHP-Code nach dem Header wird weiterhin ausgeführt.

Was ist zu beachten, wenn der PHP-Header zur Seite springt?

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

1. : Zwischen den Zahlen dürfen keine Leerzeichen stehen, sonst kommt es zu einem Fehler.

2. Vor der Verwendung des Headers kann keine Ausgabe erfolgen.

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:

Die Umleitungsfunktion von ASP kann nach dem Senden der Header-Datei an den Kunden funktionieren.

Zum Beispiel

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

Überprüfen Sie, ob der folgende Beispielcode in PHP einen Fehler meldet:

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

Der einzige Weg ist dieser:

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

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

Beispiel 2:

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

in

ASP ist das Ergebnis eine Umleitung einer .asp-Datei.

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 ausgeführt wird nicht ausgeführt werden.

Und PHP führt nach der Ausführung des Header-Codes weiterhin Folgendes aus.

In dieser Hinsicht ist die Header-Umleitung 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

if(...)
header("...");
else
{
...
}

aber wir können einfach die folgende Methode verwenden:

if(...)
{ header("...");exit();}

Beachten Sie außerdem, dass bei der Codierung mit Unicode (UTF-8) ebenfalls Probleme auftreten und Sie die Cache-Einstellungen anpassen müssen

<[email=%@]%@LANGUAGE="VBSCRIPT[/email]" CODEPAGE="936"%>
<%if Request.ServerVariables("SERVER_NAME")="s.jb51.net" then
response.redirect "news/index.htm"
else%>
<%end if%>
<script>
var url = location.href;
if(url.indexOf(&#39;http://www.jb51.net/&#39;)!=-1)location.href=&#39;/index/index.htm&#39;;
if(url.indexOf(&#39;http://www.kanshule.com/&#39;)!=-1)location.href=&#39;/index1/index.htm&#39;;
if(url.indexOf(&#39;http://www.shouji17.com/&#39;)!=-1)location.href=&#39;/cn/index.asp&#39;;
if(url.indexOf(&#39;http://www.baidu.com/&#39;)!=-1)location.href=&#39;/cn/index.asp&#39;;
</script>

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Spalte php-Schulung !

Das obige ist der detaillierte Inhalt vonWas ist zu beachten, wenn der PHP-Header zur Seite springt?. 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