Résumé des précautions de saut de page php header('location: $url')

伊谢尔伦
Libérer: 2023-03-11 08:46:02
original
7468 Les gens l'ont consulté

Lorsque vous utilisez header("location:test.php") pour vous lancer dans PHP, veuillez faire attention aux points suivants, qui aideront à résoudre certains problèmes que les novices rencontrent souvent

1. Il ne peut pas y avoir d'espace entre location et ":", sinon une erreur se produira.

2. Il ne peut y avoir de sortie avant d'utiliser l'en-tête.

3. Le code PHP après l'en-tête sera également exécuté.

Ce qui suit est une comparaison avec la redirection réponse.redirect dans asp :

Exemple 1 :

response.redirect"../test.asp"
header("location:../test.php");
Copier après la connexion

La différence entre les deux :

La fonction de redirection d'ASP peut fonctionner après l'envoi du fichier d'en-tête au client

Par exemple,

<html>
<head>
</head>
<body>
<%response.redirect"../test.asp"%>
</body>
</html>
Copier après la connexion

, si vous vérifiez ce qui suit. exemple de code en PHP, une erreur sera signalée :

<html>
<head>
</head>
<body>
<?php
header("location:../test.php");
?>
</body>
</html>
Copier après la connexion

Cela ne peut être fait que comme ceci :

<?php
header("location:../test.php");
?>
<html>
<head>
</head>
<body>...
</body>
</html>
Copier après la connexion

C'est-à-dire qu'aucune donnée ne peut être envoyée au client avant le fonction d'en-tête.

Exemple 2 :

asp

<html>
<head>
</head>
<body>
<%
response.redirect"../a.asp"
response.redirect"../b.asp"
%>
</body>
</html>
Copier après la connexion

s'avère rediriger un fichier.asp

php?

<🎜. >
<?php
header("location:../a.php");
header("location:../b.php");
?>
<html>
<head>
</head>
<body>
</body>
</html>
Copier après la connexion
Nous avons constaté qu'il redirige b.php.

Il s'avère qu'après avoir exécuté la redirection en asp, le code suivant ne sera pas exécuté.

Et php continuera à exécuter le code suivant après l'exécution de l'en-tête.

À cet égard, l'en-tête en php n'est pas aussi bon que la redirection en asp. Parfois, nous ne pouvons pas exécuter le code suivant après la redirection :

. Généralement, nous utilisons

if(...)
header("...");
else
{
...
}
Copier après la connexion
mais nous pouvons simplement utiliser la méthode suivante :

if(...)
{header("...");exit();}
Copier après la connexion
Notez également que des problèmes surviendront si vous utilisez l'encodage Unicode (UTF-8), et que vous avez besoin pour ajuster les paramètres du

cache.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal