[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Login funktioniert einfach nicht... - Seite 2
Seite 2 von 2

Verfasst: 6. Okt 2008, 23:16
von rudoo
Ein Nachtrag zum Punkt von Ralf (Veröffentlichung der überarbeiteten user.inc.php):

In der Zwischenzeit hat Joachim ein AddOn von Simple-User-Version 1.1 veröffentlicht. Die Codekompatibilität des Simple-User-Addons zum Login-Modul und dessen Anleitung wird zur Zeit sichergestellt durch den Austausch des Codeinhalts der Datei 'user.inc.php' im 'pages'-Verzeichnis des Simple-User-Addons durch den überarbeiteten Code, den ich im Request an Joachim unter

http://forum.redaxo.de/ftopic10040-0-asc-15.html

gepostet habe. Joachim wird das Simple-User-AddOn sicher bald aktualisieren, so dass der Code-Update dann nicht mehr nötig sein wird.

Gruss, rudoo

logout funktioniert nicht

Verfasst: 13. Okt 2008, 19:18
von gattarina
hallo allerseits!

bin vorhin auf der suche nach einer problemlösung auf diesen thread gestoßen und hoffe, dass jemand von euch mir vielleicht weiterhelfen kann, ich habe nämlich ein logout-problem:

ich baue gerade meine erste größere redaxo-seite und habe darin einen geschützten bereich mit login/logout. dafür benutze ich ebenso wie oswaldine das Modul "LOGIN mit Anmelden / Abmelden / Passwort-Vergessen, Portierung für REX 4.0, 4.1" mit dem template "Authentifizierung - mehrere Benutzerbereiche, Version für REX 4.0+" und dem "Addon simple user 0.9" (mit 1.1 habe ich es ebenfalls probiert, selbes problem wie unten beschrieben) sowie die "<ul>-Navigation für mehrere Benutzerbereiche inc. Breadcrumb"

als ich die website local auf meinem rechner laufen hatte, da hat alles problemlos funktioniert und ich war ganz begeistert, da ich noch nicht lange mit redaxo und php arbeite.
nun habe ich sie auf dem server (host europe) installiert und auf einmal funktioniert der logout nicht mehr. man kann sich einloggen und bekommt dann auch die entsprechenden inhalte und menüpunkte zu sehen, das wort "logout" wird im menü angezeigt, wenn ich darauf klicke passiert aber nichts!

meiner meinung nach habe ich alle artikel_ids richtig zugewiesen, vielleicht liegt das problem woanders? wäre super, wenn jemand einen tip für mich hat, wo der fehler zu finden sein könnte! wenn jemand eine idee hat kann ich ihm auch gern den link zu der seite schicken, um sich mal testweise als benutzer einzuloggen und das problem zu sehen.

viele grüße
gattarina

Verfasst: 21. Okt 2008, 15:55
von Calvito
Hallo gattarina,

hatte dasselbe Problem. Das lag bei mir am modrewrite. LOGOUT=1 in der URL wird offensichtlich dabei nicht vollständig übergeben. Jedenfalls hilft es entweder auf modrewrite zu verzichten oder eine feste Addresse einzugeben (z.B. deine_url/index.php?article_id=1&FORM[LOGOUT]=1).

Gruß, Martin

Verfasst: 24. Okt 2008, 09:53
von gattarina
Hallo Martin!

Super, danke vielmals!! das hilft mir schonmal weiter. Wenn ich Mod Rewrite ausschalte, dann funktioniert der Login und Logout tatsächlich wieder. So einfach kann es sein!

Wenn ich Mod Rewrite doch weiter verwenden möchte: Eine feste Adresse für den Mod Rewrite einzugeben habe ich noch nie gemacht... an welcher Stelle müsste ich das tun? in der htaccess?

Jetzt muss ich nur noch das Problem mit der dynamischen Sitemap lösen, die ebenfalls offline korrekt funktioniert hat, jetzt aber auf einmal nicht mehr. Das heißt, sie soll, wenn jemand eingeloggt ist, ihm auch die nun für ihn zugänglichen Seiten mit auflisten. Im Moment zeigt sie aber egal ob man eingeloggt ist oder nicht nur die Seiten an, die wirklich für alle zugänglich sind... Ich benutze dafür folgendes Modul:
http://www.redaxo.de/165-Moduldetails.html?module_id=83
Offline hat es auch mit Redaxo 4.1 funktioniert...

viele Grüße,
Katharina

Verfasst: 24. Okt 2008, 10:19
von Calvito
Hallo Katharina,

nicht das modrewrite bekommt eine feste URL, sondern das Login-Template an der Stelle wo der Logout forciert wird. Ab ca. Zeile 161 (aus dem Template, das dem AddOn beiliegt):
statt

Code: Alles auswählen

   <p style="text-align:left;"><a href="'. $url_nach_logout .'&FORM[LOGOUT]=1">&laquo; Logout</a></p>
z.B.

Code: Alles auswählen

<p style="text-align:left;"><a href="index.php?article_id=1&FORM[LOGOUT]=1">&laquo; Logout</a></p>
Das umgeht das modrewrite. So hast du zwar im Fall eines Logouts keine so schöne URL, dafür wird aber der Code für den Ausloggvorgang übergeben.

Gruß, Martin

Verfasst: 27. Okt 2008, 13:48
von gattarina
Achsooo! Das werde ich die Tage mal ausprobieren, klingt ja nicht so kompliziert. Vielen Dank! Grüße, Katharina

Verfasst: 28. Okt 2008, 12:58
von gattarina
Hallo Martin,

habe Deinen Tip umzusetzen versucht und war jetzt auch erfolgreich :D , nun funktioniert der Login/Logout auch bei aktiviertem ModRewrite!

Allerdings musste ich die fest URL nicht im Login-Template setzen, sondern in meinem allgemeinen Seitentemplate an der Stelle, an der Navigation und der Menüpunkt Login/Logout ausgegeben wird. Falls jemand ein ähnliches Problem hat wollte ich das hier noch eben darstellen. Also statt:

Code: Alles auswählen

       <?php
           print $navigation;
           if (!$_SESSION['USR'] OR $_GET['LOGOUT'] == 1) { 
               $navLogin = '<ul class="nav1st"><li><a href="'.rex_getUrl(21,$REX['CUR_CLANG']).'">Login</a></li></ul>'; 
           } 
           else { 
               $navLogin = '<ul class="nav1st"><li><a href="'.rex_getUrl($REX['START_ARTICLE_ID'],$REX['CUR_CLANG'],'&FORM[LOGOUT]=1').'">Logout</a></li></ul>'; 
           }
           print $navLogin;
           ?>    
dann so:

Code: Alles auswählen

 <?php
           print $navigation;
           if (!$_SESSION['USR'] OR $_GET['LOGOUT'] == 1) { 
               $navLogin = '<ul class="nav1st"><li><a href="'.rex_getUrl(21,$REX['CUR_CLANG']).'">Login</a></li></ul>'; 
           } 
           else { 
               $navLogin = '<ul class="nav1st"><li><a href="index.php?article_id=1&clang=0&FORM[LOGOUT]=1">Logout</a></li></ul>'; 
           }
           print $navLogin;
           ?>  


Anmerkung: Da die Website mehrsprachig ist kommt jetzt leider jeder beim Logout wieder auf die deutschsprachige Startseite, egal welche Sprache er vorher gewählt hatte ... oder könnte ich für die Sprache wieder eine Variable in der festen URL einbauen?

Und noch eine vermutlich simple Frage zur Schreibweise: wenn ich möchte, dass nach dem Login nicht wie voreingestellt die Startseite angesprungen wird, wie muss ich die ID des gewünschten Artikels angeben?

also statt:

Code: Alles auswählen

$nach_login = $REX['START_ARTICLE_ID'];
dann so:

Code: Alles auswählen

$nach_login = $REX['22'];
??? So habe ich es nämlich gerade versucht, hat aber nicht geklappt...

Grüße, Katharina