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

Patricia Arquette
Libérer: 2024-11-01 00:59:01
original
457 Les gens l'ont consulté

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']));
    Copier après la connexion
  2. login-check.php : Récupérez l'URL de destination à partir du $_POST['location' ] variable :

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
    Copier après la connexion
  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();
    }
    Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!