Memberpages, Weiterleitung
Moderator: Tata
Memberpages, Weiterleitung
Hallo,
in Memberpages config kann man ja einstellen, auf welche Seite man nach dem Login weitergeleitet werden soll.
Jetzt möchte ich aber, je nach Zugangslevel des Mitgliedes auf verschiedene Seiten weiterleiten, evtl. auch auf externe Seiten.
Beispiel:
ich erstelle ein Login-Formular auf einer H1 Seite mit
{{{PLUGIN:memberslogin();}}}
nach der Eingabe des Passwortes soll auf eine untergeordnete Seite H2 (Mitgliederseite) bzw. auf eine externe Seite weitergeleitet werden.
Kann man das im Pluginaufruf angeben?
Schöne Wochenende
Ludwig
in Memberpages config kann man ja einstellen, auf welche Seite man nach dem Login weitergeleitet werden soll.
Jetzt möchte ich aber, je nach Zugangslevel des Mitgliedes auf verschiedene Seiten weiterleiten, evtl. auch auf externe Seiten.
Beispiel:
ich erstelle ein Login-Formular auf einer H1 Seite mit
{{{PLUGIN:memberslogin();}}}
nach der Eingabe des Passwortes soll auf eine untergeordnete Seite H2 (Mitgliederseite) bzw. auf eine externe Seite weitergeleitet werden.
Kann man das im Pluginaufruf angeben?
Schöne Wochenende
Ludwig
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Memberpages, Weiterleitung
Hallo Ludwig,
eine interessante Anfrage. Das ist momentan nicht vorgesehen, kann aber leicht eingebaut werden:
Bei memberpages/index.php ab Zeile 408 den code
ersetzen durch
Ich habe als Beispiel Zugangsniveau "2" eingegeben, da kann ein beliebiges anders Zugangsniveau stehen. Die dann erscheinende Seite steht hinter "location:", Jetzt habe ich nur für den Test die Seite "Termine" eingegeben, also statt Termine den Namen der Seite, die gewünscht wird, URL-codiert eingeben. Bei externer Website einfach eingeben:
header('Location: http://www.meine-externe-website.de');
svasti
eine interessante Anfrage. Das ist momentan nicht vorgesehen, kann aber leicht eingebaut werden:
Bei memberpages/index.php ab Zeile 408 den code
Code: Select all
//If a login_page is defined use it
if($plugin_tx['memberpages']['page_on_login']) {
header('Location: '.CMSIMPLE_URL.'?'.$plugin_tx['memberpages']['page_on_login']);
exit;
Code: Select all
//If a login_page is defined use it
if($plugin_tx['memberpages']['page_on_login']) {
if($_SESSION['accesslevel'] == '2') {
header('Location: '.CMSIMPLE_URL.'?Termine');
exit;
} else {
header('Location: '.CMSIMPLE_URL.'?'.$plugin_tx['memberpages']['page_on_login']);
exit;
}
header('Location: http://www.meine-externe-website.de');
svasti
Re: Memberpages, Weiterleitung
Schön.svasti wrote:Das ist momentan nicht vorgesehen, kann aber leicht eingebaut werden:
Hier sollte man vielleicht noch darauf hinweisen, dass CMSIMPLE_URL erst ab CMSimple_XH 1.6 verfügbar ist (und nicht in CMSimple v4). Als Notlösung funktioniert meist auch (nicht unbedingt bei allen Servern, und vielleicht auch nicht bei allen Browsern):svasti wrote:Code: Select all
header('Location: '.CMSIMPLE_URL.'?Termine');
Code: Select all
header('Location: '.$sn.'?Termine');
Christoph M. Becker – Plugins for CMSimple_XH
Re: Memberpages, Weiterleitung
Hallo Svasti,
besten Dank. Habe es eingebaut und war grad schon am verzweifeln, unter CMSimple 4.4.2 wurde mir nur noch ein leere weiße Seite angezeigt. Also zurück ins Forum und siehe da Christoph hat es bereits vorrausgesehen, danke Christoph.
Nachtrag:
das mit der leeren Seite lag an der fehlenden Klammer }, mein Fehler.
Weiterleitung funktioniert bei mir so nicht (Xampp und CMSimple 4.4.2)
besten Dank. Habe es eingebaut und war grad schon am verzweifeln, unter CMSimple 4.4.2 wurde mir nur noch ein leere weiße Seite angezeigt. Also zurück ins Forum und siehe da Christoph hat es bereits vorrausgesehen, danke Christoph.
Nachtrag:
das mit der leeren Seite lag an der fehlenden Klammer }, mein Fehler.
Weiterleitung funktioniert bei mir so nicht (Xampp und CMSimple 4.4.2)
Code: Select all
//If a login_page is defined use it
if($plugin_tx['memberpages']['page_on_login']) {
if($_SESSION['accesslevel'] == '3') {
header('Location: '.$sn.'?Termine');
exit;
} else {
header('Location: '.$sn.'?'.$plugin_tx['memberpages']['page_on_login']);
exit;
}
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Memberpages, Weiterleitung
ja, solche Gefühle kenne ich auchstoa wrote:war grad schon am verzweifeln
Uff, darauf wär ich nicht gekommen.stoa wrote:CMSimple 4.4.2 . . . siehe da Christoph hat es bereits vorrausgesehen
willkommen im Klubstoa wrote:lag an der fehlenden Klammer }, mein Fehler.
Wie? es funktioniert nicht? Hat es denn vorher funktioniert (mit ursprünlicher Version). In deiner neuen Version steht ja auch noch "Termine", das muss zum entsprechenden Seitennamen geändert werden.stoa wrote:Weiterleitung funktioniert bei mir so nicht (Xampp und CMSimple 4.4.2)
Re: Memberpages, Weiterleitung
Da ist im Zweifel ein Editor mit automatischem Syntax-Check recht hilfreich. Das sollte eigentlich auch kein Problem sein, weil PHP selbst einen solchen anbietet (php -l) -- evtl. kann man das im Editor als Erweiterung auch selbst nachrüsten.svasti wrote:willkommen im Klubstoa wrote:lag an der fehlenden Klammer }, mein Fehler.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Memberpages, Weiterleitung
Hallo Svasti,
oder mit
Den Link ?Termine habe ich zum Testen so belassen, weil ich zufällig auch einen Link Termine in meiner Homepage habe (andere Links habe ich auch getestet, gleiches Ergebnis), nur den Zugangslevel habe ich von 2 auf 3 geändert entsprechend meiner Memberlist.
Vielleicht sollte ich das Ganze mal online testen.
Die Weiterleitung funktioniert nicht, egal mit wechem Parameter ob mitsvasti wrote: Wie? es funktioniert nicht? Hat es denn vorher funktioniert (mit ursprünlicher Version). In deiner neuen Version steht ja auch noch "Termine", das muss zum entsprechenden Seitennamen geändert werden.
Code: Select all
header('Location: '.CMSIMPLE_URL.'?Termine');
Code: Select all
header('Location: '.$sn.'?Termine');
Vielleicht sollte ich das Ganze mal online testen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Memberpages, Weiterleitung
Diese Variante kann unter CMSimple 4.x normalerweise nicht funktionieren, da dort CMSIMPLE_URL nicht definiert ist (es sei denn, ein Plugin hat das gemacht). Ist eine Konstante aber nicht definiert, dann nimmt PHP an, dass man einen String meinte, und so würde zu "CMSIMPLE_URL?Termine" weiter geleitet werden, aber unter der URL ist sicher nichts zu finden.stoa wrote:Code: Select all
header('Location: '.CMSIMPLE_URL.'?Termine');
Was meinst Du damit genau: bleibt man einfach auf der selben Seite, oder wird man auf die in der Konfiguration eingestellte Seite weiter geleitet?stoa wrote:Die Weiterleitung funktioniert nicht
In erstem Fall sehe ich spontan zwei Fehlermöglichkeiten:
- Du hast die bearbeitete Datei als UTF-8 mit BOM gespeichert (oder eine andere liegt so vor). Um das auszuschließen, schalte am besten den Debug-Modus ein; da sollte dann ggf. eine Meldung in der Art "could not send headers; already sent in ..." erscheinen.
- Du testest mit einem Browser oder lokalen Webserver der damit Probleme hat. Ersteres halte ich für unwahrscheinlich (mir ist jedenfalls noch kein Browser über den Weg gelaufen, der nicht zu relativen URLs weiter leiten kann); zweiteres könnte ganz vielleicht an Portable_XH liegen, falls Du das verwendest. Müsste ich mal prüfen.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Memberpages, Weiterleitung
Hallo stoa,
teste doch header('Location: ...') erstmal mit dem kompletten URL (beginnend mit http://): Einfach zur Zielseite gehen und aus der Adresszeile des Browsers kopieren.
Wenn das funktioniert, kannst Du Dir die Zieladresse immernoch "zusammenbasteln", ich habe da schon seit einiger Zeit was online, das Dir vielleicht dabei helfen kann:
http://www.kstb.de/cmsimplevars/
Gert
teste doch header('Location: ...') erstmal mit dem kompletten URL (beginnend mit http://): Einfach zur Zielseite gehen und aus der Adresszeile des Browsers kopieren.
Wenn das funktioniert, kannst Du Dir die Zieladresse immernoch "zusammenbasteln", ich habe da schon seit einiger Zeit was online, das Dir vielleicht dabei helfen kann:
http://www.kstb.de/cmsimplevars/
Gert
Last edited by Gert on Sat May 31, 2014 12:01 pm, edited 1 time in total.
Re: Memberpages, Weiterleitung
Das ist auf keinen Fall verkehrt. Allerdings ist die klassische Variante um einen relativen URL zu konstruieren bei CMSimple ja:Gert wrote:teste doch erstmal mit dem kompletten URL (beginnend mit http://): Einfach zur Zielseite gehen und aus der Adresszeile des Browsers kopieren.
Code: Select all
$sn . '?' .$su
Das ist halt nur für header('Location:') nicht standard-konform, da RFC 2616, Abschnitt 14.30 spezifiziert:
(Wobei absoluteURI in RFC 2396, Abschnitt 3 definiert ist.)Location = "Location" ":" absoluteURI
Selbst wenn also die Weiterleitung beim Testen funktioniert, ist zumindest nicht sicher gestellt, dass es auch von allen Clients korrekt behandelt wird[1], wenn man einen relativen URL angibt (wie gesagt, ist mir diesbezüglich kein Browser bekannt, der damit Probleme hätte, aber ich kenne nicht alle Browser, und schon gar nicht alle potentiellen Clients).
Wäre es nicht sinnvoll, wenn auch CMSimple 4.x da eine Erleichterung anbieten würde?Gert wrote:Wenn das funktioniert, kannst Du Dir die Zieladresse immernoch "zusammenbasteln"
[1] Natürlich kann standard-konformes Verhalten Probleme mit nicht standard-konformen Clients nicht ausschließen.
PS:
Diese Seite hat übrigens mehrere XSS Sicherheitslücken.Gert wrote:ich habe da schon seit einiger Zeit was online, das Dir vielleicht dabei helfen kann:
http://www.kstb.de/cmsimplevars/
Last edited by cmb on Sat May 31, 2014 1:09 am, edited 1 time in total.
Reason: PS hinzugefügt
Reason: PS hinzugefügt
Christoph M. Becker – Plugins for CMSimple_XH