Maison  >  Article  >  développement back-end  >  Comment rediriger vers la page précédente après la connexion en PHP ?

Comment rediriger vers la page précédente après la connexion en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 00:59:01458parcourir

How to Redirect to Previous Page After Login in PHP?

Redirection vers la page précédente après la connexion

L'incapacité de rediriger les utilisateurs vers leur destination prévue après une connexion réussie peut être un obstacle frustrant. En incorporant des techniques spécifiques et en gérant les pièges potentiels, il est possible de résoudre ce problème efficacement.

Solution : Utiliser une variable $_GET

Une approche courante consiste à utiliser un $ Variable _GET pour capturer la page actuelle de l'utilisateur. Lors de leur redirection vers la page de connexion, l'ajout de cette variable permet au script de récupérer la destination souhaitée après une authentification réussie. Par exemple, si un utilisateur lit un article et tente de laisser un commentaire, l'URL de la section de commentaire (par exemple, comment.php?articleid=17) doit être transmise à la page de connexion via une variable $_GET.

Mise en œuvre :

Dans le code fourni :

  1. login.php : Envoyer l'utilisateur à la connexion page avec la page actuelle comme paramètre $_GET :

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. login-check.php : Récupérez l'URL de destination à partir du $_POST['location' ] variable :

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. Si la connexion réussit, redirigez l'utilisateur vers l'URL de destination ou la page par défaut (si aucune n'est spécifiée) :

    if(isset($_SESSION['id_login'])) {
     // if login is successful and there is a redirect address, send the user directly there
     if($redirect) {
         header("Location:". $redirect);
     } else {
         header("Location:login.php?p=3");
     }
     exit();
    }

Précautions :

  • Validez l'URL de destination : Assurez-vous que l'URL de destination est sûre et ne contient pas de contenu malveillant.
  • Utilisez urlencode : Utilisez urlencode() lors de la transmission d'URL en tant que paramètres $_GET pour gérer correctement les caractères spéciaux.

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