Maison >développement back-end >tutoriel php >Comment rediriger les utilisateurs vers leur page précédente après la connexion ?

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 07:11:02953parcourir

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>

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>

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>

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!

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