Sven: Redirect nach Login

Hallo,

ich werkel grad an so einer Art Portal. Wenn jemand nicht eingeloggt ist und auf eine interne Seite zugreifen will, soll das Login-Form angezeigt werden. Nach dem Login soll er aber zu der betroffenen Seite wieder zurückgeleitet werden, die ihm dann natürlich offen steht.

Nur die Frage: Wie macht man das am besten?

Ich dachte, ich könnte mit dem referer was werden... also den nicht eingeloggten User per header() zur Login-Seite weiterleiten, aber danach durch den Referer wieder zur vorigen Seite leiten.

Funktioniert nur leider nicht, da der Referer nicht übergeben wird. Hat da jemand einen anderen Ansatz? Ich könnte natürlich auch versuchen, die ursprüngliche Seite per GET der Login-Seite mitzugeben... erscheint mir aber mehr zusammen gepflickt, da gibts bestimmt schönere Lösungen?

Lg
Sven

  1. Hi,

    ich werkel grad an so einer Art Portal. Wenn jemand nicht eingeloggt ist und auf eine interne Seite zugreifen will, soll das Login-Form angezeigt werden. Nach dem Login soll er aber zu der betroffenen Seite wieder zurückgeleitet werden, die ihm dann natürlich offen steht.

    Nur die Frage: Wie macht man das am besten?

    Ich dachte, ich könnte mit dem referer was werden...

    Referrer ist unzuverlaessig, unbrauchbar.

    Zeige das Loginformular doch einfach innerhalb der Seite, die urspruenglich angefordert wurde, an. Deren Adresse kannst du aus $_SERVER rausholen, dann als Wert eines unsichtbaren Formularfeldes mitgeben - und damit nach dem Login dorthin weiterleiten.

    MfG ChrisB

    1. Hello,

      Zeige das Loginformular doch einfach innerhalb der Seite, die urspruenglich angefordert wurde, an. Deren Adresse kannst du aus $_SERVER rausholen, dann als Wert eines unsichtbaren Formularfeldes mitgeben - und damit nach dem Login dorthin weiterleiten.

      Das ist eine gute Idee! Muss ich mir gleich merken.

      einen unscheinbaren Button "Login" bzw. "Logout" irgendwo auf jeder Seite zu haben, ist ja kein Problem, aber das Login durchzuführen, benötigt ja schon etwas mehr Platz.

      Einfach ein DIV (Tschuldigung für die Divergitis) überblenden über die vorhandene Seite und das Form darin anzeigen. Abbrechen-Button nicht vergessen.

      Das erfordert zwar einen Handler an der passenden Stelle jeder Seite bzw. einen Plazthalter, der bei Bedarf vor der Auslieferung des HTML-Codes nochmal gefüllt wird mit dem Login-Formular, aber der Aufwand ist vergleichsweise gering. Und dann das Loginformular halbtransparent darstellen, oder mit Schatten und Tralklala. *Wow*, der ergeben sich ja massenweise Designideen!

      Welche Seite gemeit ist, weiß ja das Script, das die Seite aufgebaut hat, ohnehin. Sollte es zumindest wissen.

      Außerdem könnte man die Session auch auch gelich bei Beginn des Seiteneintritts starten, dann kann in der Session eine History über die Requests mitführen. Sesion hat ja bekanntlich direkt nichts mit "Anmeldung" zu tun sondern ist bestenfalls eine basis dafür.

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)