Ergebnis 1 bis 7 von 7

Thema: Session-Daten nach Mitglieder-Login weg

  1. #1
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Standard Session-Daten nach Mitglieder-Login weg

    Hallo,

    leider hat eine Suche nach diesem Thema noch kein aufschlussreiches Ergebnis geliefert.

    Ich habe ein Formular, dass auch von nicht angemeldeten Benutzern der Seite benutzt werden kann.
    Die in das Formular eingetragenen Werte, speichere ich in eine Session:
    PHP-Code:
    $session $this->Session->getData();
    $session['member_data']['name'] = $this->Input->post('name');
    $session['member_data']['other'] = $this->Input->post('other');
    $this->Session->setData($session); 
    Wenn sich so ein Nutzer jetzt registriert, dann möchte ich die Daten aus der Session herausholen und für den User (bzw. Mitglied/Member) persistent speichern.

    Leider sind die Session-Daten nach dem Mitglieder-Login aber weg.

    1.) Woran liegt das? Kann man das verhindern?

    2.) Gibt's einen anderen Weg als über die Session?

    Viele Grüße,
    Matthias

  2. #2
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Standard

    Hallo!

    Danke Dir Leo für die Antwort!

    Aber die wenigen Werte extra in der Datenbank zu speichern ist aber auch nicht sauber.
    Wenn der User (Mitglied) sich dann doch nicht anmeldet oder registriert, so bleibt eine "Kartei-Leiche" zurück, um deren Entsorgung (Löschung) man sich dann wieder noch zu kümmern hat.

    Mein Ziel kann doch nicht so fern der Realität sein:
    Es ist vergleichbar mit einem Warenkorb, der nach Registrierung als User nicht plötzlich leer sein soll.

    Irgendjemand eine "einfache" Idee?

    Viele Grüße,
    Matthias

  3. #3
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Daumen hoch

    Jetzt habe ich doch eine vermutlich "unsaubere" Lösung gefunden, sogar hier im Forum:

    http://www.contao-community.de/showt...ll=1#post97039

    Das Prinzip ist, dass man das PHP Session Objekt verwendet und nicht das von Contao.

    PHP-Code:
    $_SESSION['member_data_name'] = $this->Input->post('name'); 
    $_SESSION['member_data_other'] = $this->Input->post('other'); 
    Gruß,
    Matthias

    ps. hoffe dieser Thread hilft durch das Subjekt anderen, diese Idee zu finden und aufzugreifen.
    Mich würde noch interessieren, wie die Webshop Extension damit umgeht, oder ob dort die Webshop Kunden mit Login, keine Contao Frontend-Mitglieder sind?

  4. #4
    Gesperrt
    Registriert seit
    02.12.2009.
    Ort
    Berlin
    Beiträge
    103

    Standard

    Danke! Ich hab's jetzt verstanden. Aber ich werde den Weg über die PHP Session (an der reinen Contao-Session vorbei) gehen. Der funktioniert verlässlich, braucht keine Datenbank und kein Cookie und ist ja nur solange persistent, wie die (PHP-)Session existiert.

    Gruß,
    Matthias

  5. #5
    Contao-Fan Avatar von Stranger
    Registriert seit
    20.06.2009.
    Ort
    Blankenburg
    Beiträge
    746
    Partner-ID
    5635
    User beschenken
    Wunschliste

    Standard

    Hmm jetzt erst den Thread hier gesehen... Hab das gleiche Problem:
    https://community.contao.org/de/show...Login-verloren

    Ich gehe mittlerweile davon aus, dass es sich hierbei um einen Contao Bug handelt. Denn genau der gleiche Quatsch passiert auch beim Core. Kann jeder gerne nachmachen...
    Man loggt sich als Backend User ein. Danach loggt man sich als Frontend User ein. Nachdem man erneut auf das Backend zugreifen will, wird man ausgeloggt...
    Weil man eben die Session verloren hat.
    Du willst dich bei mir bedanken?
    Ich freue mich über Geschenke von meiner Amazon-Wunschliste.

    Contao-Anwender seit 2008
    Contao-Entwickler seit 2013, mehr als 50 Contao Erweiterungen programmiert

    Mein Unternehmen aus Blankenburg (Harz): Fast & Media

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.559
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dafür gibt es doch die Frontend-Vorschau, wo man sich als Mitglied im Frontend anmelden kann, ohne dabei die Session zu verlieren.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Das ist alles andere als Quatsch. Wie Leo U schon sagt, Du würdest sonst annonyme Daten mit registrierten Daten mischen.
    Das kann für einen Einzelfall gut sein z.B. ein Warenkorb, aber ein Rechner mit mehreren Nutzern wäre schon unsauber.


    Sent from my iPhone using Tapatalk - now Free
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

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
  •