Auf Herkunftsseite umleiten

Danielku15

Erfahrenes Mitglied
Hi Leute.
Ich hab wieder mal eine Frage bezüglich meines Loginscripts.
Wenn ich eine Unterseite schütze (index.php?site=profile) und der User ist nicht eingeloggt so wird er mittels header() auf die Loginseite (index.php?site=login) umgeleitet.
Jetzt ist mein Problem dass ich nach Erfolgreichem Login zurück auf die geschützte Unterseite zurückleiten will. Ich habe zuerst versucht die Variable $_SERVER['HTTP_REFERER'] auszulesen und ins Formular zu übergeben sodass ich nach dem Login wieder zurückleiten kann.
Jedoch ist die Variable $_SERVER['HTTP_REFERER'] leer. Die Herkunftsurl komplett zu zerlegen und über die URL weiterzugeben wäre sehr umständlich. Da muss es doch eine andere Möglichkeit geben.

gruß Daniel
 
Also dein Loginscript haste ja schon fertig -.-
Die verlinkung wird in etwa so aussehen ...

PHP:
if (isset($_POST['login']))
{
// verarbeitung Login
header("Refresh: 0; URL=index.php");
}
else
{
// Formular
}

Meine Idee zu deinem Problem wäre nun noch die Erweiterrung durch einen Session-Cookie, welcher dein Problem somit eigentlich lösen dürfte ...



PHP:
if($_Session['login'] == "true")
{
// login Seite 
}
else
{

if (isset($_POST['login']))
{

// verarbeitung Login
if($pw == "rofl mein passwort ... mit md5 codiert")
{
$_SESSION['login'] = "true";
}
$_SESSION['login'] = "false";
{


header("Refresh: 0; URL=index.php");
}
else
{
// Formular
}
}

Prüfst also erst mal ob der Session-Cookie auf true ist und ist dies der Fall kommt deine Login Seite wenn nicht kommst du zur Formular Seite.

Hier prüfst du ob das Formular abgeschickt wurde wenn ja dann prüfst du ob dein Passwort stimmt und setzt dann den jeweiligen Session-Cookie.

Ist das Formular noch garnicht abgeschickt worden, so zeigst du das Formular an.


// Könntest auch einfach die URL ins Cookie schreiben und wennst eingeloggt bist darauf verlinken ...

PHP:
$_SESSION['login'] = "Http://meine derzeitigte Seite";
if($_SESSION['login'] == "true"){
$Seite = $_SESSION['login'];
header("Location: $Seite");
}
else
{
...
 
Zuletzt bearbeitet:
Mensch. Wieso einfach wenns auch kompliziert geht. Hab die verschiedensten Codes kreiert aber nichts hat funktioniert. Aber auf ne Sessionvariable wär ich nicht gekommen. Danke.
Ich lass nun in der index.php am Ende der Seite einfach meine aktuelle URI in den Cookie speichern.

gruß Daniel
 
Zurück