Comment rediriger les utilisateurs vers leur page précédente après la connexion ?

Mary-Kate Olsen
Libérer: 2024-10-31 07:11:02
original
932 Les gens l'ont consulté

How to Redirect Users Back to Their Previous Page After Login?

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

Lorsqu'un utilisateur se connecte à un site Web, il est souvent souhaitable de le rediriger vers la page qu'il parcouraient auparavant. Cela garantit une expérience utilisateur transparente et élimine le besoin de revenir manuellement en arrière.

Une façon d'implémenter cette fonctionnalité consiste à transmettre l'emplacement actuel de l'utilisateur via une variable GET lors de sa redirection vers la page de connexion :

<code class="php">header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));</code>
Copier après la connexion

Cela enverra l'utilisateur vers une page de connexion qui comprend un champ de saisie masqué contenant l'URL de la page précédente :

<code class="php">echo '<input type="hidden" name="location" value="';
if(isset($_GET['location'])) {
    echo htmlspecialchars($_GET['location']);
}
echo '" />';</code>
Copier après la connexion

Dans le login-check.php qui traite la demande de connexion, si la connexion réussit et que le paramètre de localisation est défini, l'utilisateur est redirigé vers l'URL stockée :

<code class="php">if(isset($_POST['location'])) {
    $redirect = $_POST['location'];
}

// ...

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);
    }
}</code>
Copier après la connexion

Cependant, il est crucial d'effectuer une validation sur le paramètre $_GET['location'] pour empêcher les utilisateurs d'être redirigés vers des sites Web malveillants. De plus, utilisez toujours le code urlen lorsque vous transmettez des URL en tant que paramètres GET pour gérer correctement les caractères d'URL 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