Heim > Artikel > Backend-Entwicklung > Wie leite ich nach der Anmeldung in PHP zur vorherigen Seite weiter?
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:
login.php: Benutzer zum Login weiterleiten Seite mit der aktuellen Seite als $_GET-Parameter:
header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
login-check.php: Rufen Sie die Ziel-URL vom $_POST['location' ab. ] Variable:
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
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:
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!