Ergebnis 1 bis 5 von 5

Thema: Contao 2.11.17: Aktiven User ausloggen

  1. #1
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard Contao 2.11.17: Aktiven User ausloggen

    Hi, ich möchte in meinem Modul abfragen, ob ein User angemeldet ist (Frontentuser).

    Wenn ja, möchte ich ihn abmelden und einen redirect machen. Folgendes hab ich:

    PHP-Code:
    if ($_SESSION['TL_USER_LOGGED_IN'])
            {
                
    $this->import('FrontendUser','Member');
                if (
    $this->User->logout())
                {
                    global 
    $objPage;
                if (
    $objPage->language=="de"$this->redirect("/de/gaestehaeuser/buchung-gaestehaeuser.html?apartment=med%20Apart");
                else if (
    $objPage->language=="en"$this->redirect("/en/guest-houses/guest-houses-login.html?apartment=med Apart");
                else if (
    $objPage->language=="fr"$this->redirect("/fr/maisons-dhotes/maison-dhotes-se-connecter.html?apartment=med Apart");
                else if (
    $objPage->language=="es"$this->redirect("/es/casas-de-apartamentos/casas-de-apartamentos-inicio-de-sesion.html?apartment=med Apart");
                else 
    $this->redirect("/en/guest-houses/guest-houses-login.html?apartment=med Apart");
                }
            } 
    Aber die Methode 'logout()' führt zu einem Fehler:

    Code:
    Fatal error: Call to a member function logout() on a non-object in D:\www\www30\system\modules\x_roth\prefilledBookingCheckCode.php on line 80
    Was mach ich falsch? Hat jemand eine Idee?

    Vg
    Michel

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von Lengen1971 Beitrag anzeigen

    PHP-Code:
                $this->import('FrontendUser','Member');
                if (
    $this->User->logout()) 
    Was mach ich falsch? Hat jemand eine Idee?
    Ja.

    Du importierst FrontendeMember unter dem Alias Member und verwendest dann aber $this->User um logout() aufzurufen.

    $this->User ist null und damit bekommst Du "Call to a member function logout() on a non-object".

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mit deinem ersten IF hast du doch bereits gecheckt, ob ein Member eingeloggt ist, oder? Und ansonsten müsstest du doch mit dem User-Model arbeiten können.
    PHP-Code:
    if ($_SESSION['TL_USER_LOGGED_IN']) 
      
    $userObj = \FrontendUser::getInstance();
      
    $userObj->logout();

      
    #$username = $userObj->username;
      
    ... 
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard

    Moin,

    ahh, ja, verstehe. Ein Leichtsinnsfehler jagt den nächsten.

    Danke...

  5. #5
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Wenn ich es richtig sehe, funktioniert das oben beschriebene Logout nur im FE?
    Ich möchte aber in meinem Modul im BE bei einem bestimmten FE-Mitglied schauen, ob dieses angemeldet ist, wenn ja diesen abmelden und seine tl_member Session löschen.
    Oder wie kann ich die Session eines FE-Mitgliedes löschen wenn dieses angemeldet ist? Ich habe getestet, dass wenn ein FE-Mitglied angemeldet ist, beim Löschen den Feldes session dieses sofort wieder mit den Werten der aktuellen Session beschrieben wird.
    Leider bekomme ich es mit den oben genannten Code nicht hin. Kann jemand helfen?

    Besten Dank im Voraus!
    Michael

    Edit: Ich arbeite mit Contao 3.5.9
    Contao ist echt !

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •