Hans: Benutzerverwaltung mit Sessions?

Hallo,

ich möchte einen Webshop programmieren. U.a. möchte ich, dass man sich
1. beim betreten der Seite, oder
2. zu beliebigen Zeitpunkten während des Einkaufs oder
3, am Ende (evtl. auch gar nicht) in ein bestehendes Kundenkonto einloggen kann und damit zu beliebigen Zeitpunkten aus der Rolle des anonymen Surfers/Warenkorbfüllers in die Rolle eines angemeldeten Users wechseln kann.

Dabei soll natürlich nichts aus dem schon gefüllten Warenkorb abhanden kommen. Wenn noch kein Kundenkonto besteht, soll sich ebenso zu beliebigen Zeitpunkten ein solches erstellen lassen.

Frage: Lässt sich solches "einfach" mit den PHP Sessions machen?
Die Verwaltung / Datenspeicherung der Benutzerdaten wird natürlich in einer (MySQL-)DB erfolgen, ich meine nur die sichere Verwaltung der Benutzer Sessions.

Klingt vielleicht etwas blöd, aber ich habe bisher noch kaum was mit php gemacht (habe aber schon etwas Ahnung vom programmieren ;-) [Perl, Java, C++) und mache bzgl. des Webshop Projektes die ersten Planspiele. Da wollte ich vermeiden aufs falsche Pferd zu setzten.

MfG
Hans

  1. Frage: Lässt sich solches "einfach" mit den PHP Sessions machen?

    Prinzipiell schon.

    Die Verwaltung / Datenspeicherung der Benutzerdaten wird natürlich in einer (MySQL-)DB erfolgen, ich meine nur die sichere Verwaltung der Benutzer Sessions.

    Warum speicherst Du die anonymen Daten denn nicht auch schon in einer DB und setzt einen Flag, die über den Login-Vorgang von 0 auf 1 hoppt? Über einen Cron könntest Du regelmäßig die hierbei anfallenden Nuller rauswerfen lassen.

    Das würde Dir ersparen, einmal für Sessions und später nochmal für die DB zu programmieren und hin und her zu kopieren.

    Gruß, Tim

    1. Hallo Tim,

      Warum speicherst Du die anonymen Daten denn nicht auch schon in einer DB und setzt einen Flag, die über den Login-Vorgang von 0 auf 1 hoppt? Über einen Cron könntest Du regelmäßig die hierbei anfallenden Nuller rauswerfen lassen.

      Das würde Dir ersparen, einmal für Sessions und später nochmal für die DB zu programmieren und hin und her zu kopieren.

      Ich verstehe jetzt nicht genau wie Du das meinst.
      Meine Frage meinte ich in der Hinsicht als dass ich mir nicht sicher bin, ob das Konzept der "php Sessions" gemeinhin für die Realisierung eines Kundenbereichs (z.B. zum dauerhaften Speichern "sensibeler" Kundendaten) in Webshops als geeignet / sicher genug erachtet wird.

      MfG
      Hans

      1. Hi,

        Meine Frage meinte ich in der Hinsicht als dass ich mir nicht sicher bin, ob das Konzept der "php Sessions" gemeinhin für die Realisierung eines Kundenbereichs (z.B. zum dauerhaften Speichern "sensibeler" Kundendaten) in Webshops als geeignet / sicher genug erachtet wird.

        Sessions sind überhaupt nicht für dauerhafte Speicherung gedacht, sondern nur für temporäre.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Machs einfach so:

    Erstelle eine Tabelle "Warenkorb" mit den Spalten 'ID', 'UserId', 'SessionId' und 'ArtikelId'

    Wenn ein anonymer User nun Waren in den Korb legt wird jedesmal eine neue Zeile in die Tabelle gelegt, User Id bleibt aber null derzeit. Wenn sich der User dann anmeldet, dann brauchst du nur ein Update zu machen, wo alle einträge mit der Session Id des Users die UserId befüllt.
    Fertig.