Maison  >  Article  >  développement back-end  >  Comment résoudre le problème selon lequel la redirection php ne peut pas sauter

Comment résoudre le problème selon lequel la redirection php ne peut pas sauter

PHPz
PHPzoriginal
2023-04-03 14:40:281613parcourir

PHP est un langage de script côté serveur couramment utilisé qui joue un rôle important dans le développement de sites Web. Lorsque vous utilisez PHP pour développer un site Web, la fonction de saut de redirection est souvent utilisée, mais nous constatons parfois que le code PHP ne peut pas implémenter normalement le saut de redirection. Pourquoi ? Cet article y répondra en détail.

  1. Qu'est-ce que la redirection ?

La redirection fait référence à la fonction de redirection automatique de la page Web demandée par l'utilisateur vers une autre URL pour réaliser un saut de page. En PHP, les sauts de redirection peuvent être implémentés via la fonction header(). La fonction header() est une fonction intégrée de PHP, utilisée pour envoyer des en-têtes HTTP natifs, y compris le code d'état, le type de contenu et d'autres informations.

  1. Méthode d'implémentation du saut de redirection PHP

En PHP, il existe deux façons d'implémenter le saut de redirection L'une consiste à utiliser la fonction header() pour sauter, et l'autre consiste à utiliser la balise méta pour sauter.

2.1 Utilisez la fonction header() pour sauter

La fonction header() peut réaliser la fonction de saut de redirection et doit envoyer différentes informations d'en-tête HTTP en fonction de la situation.

L'exemple de code est le suivant :

<?php 
    header("Location: http://www.example.com/");
    exit();
?>

Dans le code ci-dessus, la fonction header() transmet l'URL redirigée en tant que paramètre, tel que "http://www.example.com/", puis appelle la sortie () pour arrêter l'exécution en cours du script afin de garantir que la redirection prend effet.

Il convient de noter qu'aucune information, y compris les balises HTML, les espaces, les nouvelles lignes, etc., ne peut être transmise au client avant d'utiliser la fonction header() pour sauter.

2.2 Utilisez les balises méta pour sauter

En plus d'utiliser la fonction header() pour sauter, vous pouvez également utiliser des balises méta en HTML pour sauter.

L'exemple de code est le suivant :

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="refresh" content="0;URL=&#39;http://www.example.com/&#39;" />
</head>
<body>
</body>
</html>

Dans le code ci-dessus, la balise méta utilise l'attribut content pour spécifier l'URL vers laquelle accéder et définit une minuterie. Lorsque la valeur de la minuterie est 0, cela signifie un saut immédiat.

Il convient de noter que lorsque vous utilisez des balises méta pour sauter, la page restera pendant un certain temps avant de passer à l'URL spécifiée, ce qui peut conduire à une mauvaise expérience utilisateur.

  1. Causes des problèmes avec les sauts de redirection PHP

Les sauts de redirection PHP ne parviennent parfois pas à sauter Cela est principalement dû aux raisons suivantes :

3.1 Des informations ont déjà été envoyées au client

Lors de l'utilisation de la fonction header(). pour sauter, vous devez vous assurer qu'aucune information n'est envoyée au client avant d'appeler la fonction header(), sinon la redirection échouera.

L'exemple de code est le suivant :

<!DOCTYPE html>
<html>
<head>
<?php 
    echo "Hello World!";
    header("Location: http://www.example.com/");
    exit();
?>
</head>
<body>
</body>
</html>

Dans le code ci-dessus, l'instruction echo est d'abord utilisée pour afficher le texte "Hello World!" Lorsque la fonction header() est appelée pour sauter, les informations ont. déjà été envoyé au client, provoquant un échec de l'orientation.

3.2 Mauvaise URL

Si l'URL redirigée est incorrecte, la redirection échouera. À ce stade, vous devez vérifier si l'URL est correcte et si elle contient le protocole et le nom d'hôte corrects.

L'exemple de code est le suivant :

<?php 
    header("Location: example.com");
    exit();
?>

Dans le code ci-dessus, l'URL redirigée ne spécifie pas le protocole et le nom d'hôte, ce qui entraîne l'échec de la redirection.

  1. Résumé et suggestions

Le saut de redirection PHP est une fonction très courante et vous devez faire attention à certains détails lors de l'utilisation. Tout d'abord, lorsque vous appelez la fonction header() pour sauter, vous devez vous assurer qu'aucune information n'est transmise au client avant l'appel ; deuxièmement, lors de la définition de l'URL de saut, vous devez vous assurer que l'URL est correcte, y compris le protocole ; , nom d'hôte et autres informations. Enfin, il est recommandé d'utiliser la fonction header() pour le saut, car elle est plus flexible et fiable que le saut de balise méta.

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!

Déclaration:
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