Maison > Article > développement back-end > Comment rediriger vers la page précédente après la connexion en 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 :
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']));
login-check.php : Récupérez l'URL de destination à partir du $_POST['location' ] variable :
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
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 :
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!