Heim  >  Artikel  >  Backend-Entwicklung  >  Wie können Benutzer nach der Anmeldung auf ihre vorherige Seite zurückgeleitet werden?

Wie können Benutzer nach der Anmeldung auf ihre vorherige Seite zurückgeleitet werden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 07:11:02848Durchsuche

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

Weiterleitung zur vorherigen Seite nach der Anmeldung

Wenn sich ein Benutzer auf einer Website anmeldet, ist es oft wünschenswert, ihn zurück auf die Seite umzuleiten, auf der er angemeldet ist haben zuvor gestöbert. Dies sorgt für ein nahtloses Benutzererlebnis und macht ein manuelles Zurücknavigieren überflüssig.

Eine Möglichkeit, diese Funktionalität zu implementieren, besteht darin, den aktuellen Standort des Benutzers über eine GET-Variable zu übergeben, wenn er zur Anmeldeseite weitergeleitet wird:

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

Dadurch wird der Benutzer zu einer Anmeldeseite weitergeleitet, die ein verstecktes Eingabefeld mit der URL der vorherigen Seite enthält:

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

Im login-check.php-Skript, das die verarbeitet Anmeldeanforderung: Wenn die Anmeldung erfolgreich ist und der Standortparameter festgelegt ist, wird der Benutzer zur gespeicherten URL weitergeleitet:

<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>

Es ist jedoch wichtig, eine Validierung für den Parameter $_GET['location'] durchzuführen um zu verhindern, dass Benutzer auf schädliche Websites weitergeleitet werden. Verwenden Sie außerdem immer URL-Code, wenn Sie URLs als GET-Parameter übergeben, um spezielle URL-Zeichen korrekt zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie können Benutzer nach der Anmeldung auf ihre vorherige Seite zurückgeleitet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn