Maison >développement back-end >tutoriel php >Résumé des précautions de saut de page php header('location: $url')
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");
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>
, 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>
Cela ne peut être fait que comme ceci :
<?php header("location:../test.php"); ?> <html> <head> </head> <body>... </body> </html>
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>
s'avère rediriger un fichier.asp
php?
<?php header("location:../a.php"); header("location:../b.php"); ?> <html> <head> </head> <body> </body> </html>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 { ... }mais nous pouvons simplement utiliser la méthode suivante :
if(...) {header("...");exit();}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!