Heim  >  Artikel  >  Backend-Entwicklung  >  Wie leite ich nach der Anmeldung in PHP zur vorherigen Seite weiter?

Wie leite ich nach der Anmeldung in PHP zur vorherigen Seite weiter?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 00:59:01458Durchsuche

How to Redirect to Previous Page After Login in PHP?

Weiterleitung zur vorherigen Seite nach der Anmeldung

Die Unfähigkeit, Benutzer nach erfolgreicher Anmeldung an ihr beabsichtigtes Ziel weiterzuleiten, kann ein frustrierendes Hindernis sein. Durch die Einbeziehung spezifischer Techniken und den Umgang mit potenziellen Fallstricken ist es möglich, dieses Problem effektiv zu lösen.

Lösung: Verwendung einer $_GET-Variable

Ein gängiger Ansatz ist die Verwendung eines $ _GET-Variable zum Erfassen der aktuellen Seite des Benutzers. Wenn Sie sie zur Anmeldeseite umleiten, ermöglicht das Anhängen dieser Variable dem Skript, nach erfolgreicher Authentifizierung das gewünschte Ziel abzurufen. Wenn ein Benutzer beispielsweise einen Artikel liest und versucht, einen Kommentar zu hinterlassen, sollte die URL für den Kommentarbereich (z. B. comment.php?articleid=17) über eine $_GET-Variable an die Anmeldeseite übergeben werden.

Implementierung:

Im bereitgestellten Code:

  1. login.php: Benutzer zum Login weiterleiten Seite mit der aktuellen Seite als $_GET-Parameter:

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. login-check.php: Rufen Sie die Ziel-URL vom $_POST['location' ab. ] Variable:

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. Wenn die Anmeldung erfolgreich ist, leiten Sie den Benutzer zur Ziel-URL oder zur Standardseite weiter (falls keine angegeben ist):

    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();
    }

Vorsichtsmaßnahmen:

  • Bestätigen Sie die Ziel-URL:Stellen Sie sicher, dass die Ziel-URL sicher ist und keine schädlichen Inhalte enthält.
  • Urlencode verwenden: Verwenden Sie urlencode(), wenn Sie URLs als $_GET-Parameter übergeben, um Sonderzeichen ordnungsgemäß zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie leite ich nach der Anmeldung in PHP zur vorherigen Seite weiter?. 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