pragmaMx Support Forum

pragmaMx => Individuelle Anpassungen => Thema gestartet von: trulla in 16 Januar 2008, 15:47:34

Titel: Startseite nach Login
Beitrag von: trulla in 16 Januar 2008, 15:47:34
 :) Hallo
ich weiss schon, wo man einstellen kann, auf welche Seite der Besucher nach dem Login  geführt wird.   admin.php?op=usersconfig. Mir würde es aber besser gefallen, der User würde nach dem Login wieder auf die Seite kommen, auf der er sich befindet. :quest. Wie könnte ich das machen?
Viele Grüße
trulla
Titel: Re: Startseite nach Login
Beitrag von: StegRene in 16 Januar 2008, 16:59:11

Zur Theorie:

Eine neue Variable einführen, in welcher die Seite gespeichert wird, auf welcher der User gerade ist.

Dann eine Seite bauen, welche diese Variable ausliesst und den User auf genau die gespeicherte Seite redirected.

Das wars eigentlich - wenn es jemand realisieren kann -> ich bin auch interessiert ;)
Titel: Re: Startseite nach Login
Beitrag von: Webfan in 17 Januar 2008, 12:43:16
Hallo,
am Ende der mainfile.php (also vor ?> ) einfügen:
if(MX_MODULE!='Your_Account' && $_GET['name']!='Your_Account')$_SESSION['lastvisited_guest'] = $_SERVER['REQUEST_URI'];

Suche in modules/Your_Account/index.php:
$nextpage = (isset($_POST['redirect'])) ? $_POST['redirect'] : ((empty($yastartpage)) ? "modules.php?name=Userinfo" : $yastartpage);

Darunter einfügen:
if(isset($_SESSION['lastvisited_guest']))$nextpage =$_SESSION['lastvisited_guest'];

Hinweis:
Es gibt auch alternativ die Möglichkeit eine Postvariable 'redirect' zu übergeben, hierzu kann z.B. die Funktion  mx_theme_loginform() im jeweiligen Theme erweitert werden:
Beispiel:
Suche:
               
<td><input name="uname" type="text" title="$nickname"  size="8" maxlength="25"></td>
<td><input  name="pass" type="password" title="$password" size="8" maxlength="20"></td>

Erweitern mit:
<td><input  name="redirect" type="hidden" value="$_SESSION['lastvisited_guest']"></td>

Hinweis 2:
Achtung bei der Anwendung der Modifikation: Einige Werte wie z.B. Userpunkte werden erst bei Aufruf des Accountmoduls upgedated, der User könnte also veraltete/falsche Daten habn, wenn er nach dem Login nicht erst das Account Modul besucht. Inwieweit das noch andere Daten außer Userpunkte betrifft weiß ich nicht.

Hinweis 3:
Wer möchte kann versuchen anstatt $_SESSION['lastvisited_guest'] die Funktionen mxSessionSetVar bzw. mxSessionGetVar zu verwenden...

mfg
:)
Titel: Re: Startseite nach Login
Beitrag von: trulla in 18 Januar 2008, 07:32:32
Guten Morgen
und ganz lieben Dank! :)
Ich habe mich für die erste Variante entschieden und es funktioniert!
Gruß
trulla