Iris: Onlineshop: Session oder IP-DB

Hallo,

In der suche finde ich nur fragen zu fertigen Shops. Ich möchte jedoch gerne wissen welche Methode die bessere ist.
Einen Onlineshop mit einer Session oder ein Onlineshop mit einer IP-Datenbank als Warenkorb.
Ich tendiere zu einer DB, die den Nachteil hat dass einträge bestehen bleiben selbst wenn der User schon lange weg ist. Ntürlich kann man einen Timestamp einbauen und das ganze so Programmieren das die einträge  nach 12 Stunden weg sind, aber ich denke es gibt noch mehr argumente die dafür oder dagegen sprechen.

Iris

  1. Ahoi Iris,

    was dagegen spricht ist wenn z.B. aus einem Netzwerk mehrere User im
    Shop was bestellen wollen, vorallem wenn sie dies gleichzeitig tun, da
    sie u.U. die gleiche IP haben.
    Das mit dem Timestamp ist keine schlechte Idee, den/die Datensätze
    bezüglich der bestellung könnten auch nach beenden des shoppings geleert
    werden oder in eine andere tabelle geschrieben.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    \     \           /    /              \    \          /     /
     \     \         /    /                \    \        /     /
      \     /´¯.l.¯\    /                  \   /´¯.l.¯\     /
      |    l   .l.  (¯ '\                   /' ¯)  .l.   1    |
      l    l   .l.   \   \                 /   /   .l.   1    1
      l    l´¯.l´¯.l  \  '|               |'  /  1.¯´1.¯´1    1
      \                                                       /
    1. was dagegen spricht ist wenn z.B. aus einem Netzwerk mehrere User im
      Shop was bestellen wollen, vorallem wenn sie dies gleichzeitig tun,
      sie u.U. die gleiche IP haben.

      Dann muss man Sie anstatt einer IP eben anders Identifiziern. Mit Sessions? =)
      Was ich halt nicht so ganz kapieren will ist, wie ich mit Sessions alleine einen Ganzen Shop aufbauen kann. Alles was ich damit machen kann ist variablen für jede seite zu definieren und davon so viel ich will, aber eine datenbank ist da viel einfacher zu handhaben oder?!

      Iris

      1. Am einfachsten kombinierst du alles...

        Warenkorb in Datenbank und identifikation per Session-ID.. dazu einen Timestamp => löschen nach ein paar Stunden...!

        Wie du es mit nur Sessions machst?
        Du speicherst alle ausgewählten Produkte in der Session...
        ob das sinnvoll ist....

        Gruss Michael

        1. Am einfachsten kombinierst du alles...
          Warenkorb in Datenbank und identifikation per Session-ID.. dazu einen Timestamp => löschen nach ein paar Stunden...!

          Genau das habe ich mir halt eben auch gedacht und so mach ich das jetzt auch.

          THX

          --------
          Ich habe fertig!

          Iris

        2. Hello,

          Wie du es mit nur Sessions machst?
          Du speicherst alle ausgewählten Produkte in der Session...
          ob das sinnvoll ist....

          Nö, das ist nicht sinnvoll.

          Harzliche Grüße vom Berg
          esst mehr http://www.harte-harzer.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
      2. Ahoi Iris,

        also du könntest hingehn und (anstatt der IP) die Session-ID in die DB
        speichern. wenn du meinst das es mit einer DB einfacher ist. ich
        persöhnlich finde es einfach, wenn der Besucher wenn er auf in den
        Warenkorb schmeißen klickt eine weitere Variable nach dem msuter

        $_SESSION['artikel_id'][]
        $_SESSION['anzahl'][]

        zu erstellen, evt. auch anders verschachtelt, beschäftige mich gerade
        mit anderen dingen wie einem online shop.

        dann wenn er auf in warenkorb geht ein foreach() genauso wie beim abschicken der bestellung.

        Der vorteil bei sessions ist du musst dich nicht um die "zerstörung"
        von nichtmehr benötigten daten kümmern wie es bei einer DB der fall
        ist. außerdem denke ich das es Performanter ist wenn du es mit
        Sessions löst (es muss ja kein query an die DB geschickt werden) wobei
        du defentiv eine DB aufbauen solltest (mit den artikeln (preis name usw.))

        MfG

        --
        Alle Angaben wie immer ohne Gewähr
        \     \           /    /              \    \          /     /
         \     \         /    /                \    \        /     /
          \     /´¯.l.¯\    /                  \   /´¯.l.¯\     /
          |    l   .l.  (¯ '\                   /' ¯)  .l.   1    |
          l    l   .l.   \   \                 /   /   .l.   1    1
          l    l´¯.l´¯.l  \  '|               |'  /  1.¯´1.¯´1    1
          \                                                       /
        1. Hey Daniel,

          $_SESSION['artikel_id'][]
          $_SESSION['anzahl'][]

          dann wenn er auf in warenkorb geht ein foreach() genauso wie beim abschicken der bestellung.

          Ahaaaa

          (...)
          Also um die Performance bei MySQL DBs in diesem Rahmen mache ich mir weniger gedanken.

          Und ich denke DBs sind einfacher zu Programmieren.
          ZB das löschen eines Artikels aus dem Warenkorb
          DELETE FROM table WHERE id='$id' und zack -> weg!

          Iris

          1. echo $begrüßung;

            Und ich denke DBs sind einfacher zu Programmieren.
            ZB das löschen eines Artikels aus dem Warenkorb
            DELETE FROM table WHERE id='$id' und zack -> weg!

            Du hast dabei übersehen, dass dieser Befehl ja auch irgendwie von PHP zur Datenbank übertragen werden muss. Da kommen dann locker nochmal eine Hand voll Anweisungen dazu, denn Fehlerbehandlung sollte ja auch sein.

            Das Löschen einer Session-Variable geht mit einer Zeile: unset(...);

            echo "$verabschiedung $name";

  2. Hello Iris,

    bei einem echten Online-Shop sollte sich mMn der User _erst_ authentifizieren, bevor er etwas in _seinen_ Warenkorb legen kann. Das erspart viel unnötigen Traffic auf dem Server.

    Gucken können muss er natürlich auch ohne Anmeldung. Sonst verschreckst Du die Kunden.

    Die Warenkorb-Daten gehören auch nicht in die Sessiondatei, sondern in eine permanente Speicherung. Wenn nämlich die "Verbindung" verloren geht, müsste der Kunde anderenfalls von vorne anfangen.
    Wenn man nun aber nur Daten registrierter Kunden sammelt, dann können die beim "Relogin" wieder auf dem Warenkorb aufsetzen. Man bietet ihnen ein "ganzen Warenkorb löschen" an, für den Fall, dass sie absichtlich abgebrochen hatten.

    Alle anderen Lösungen halt ich für Spielkram und konnte auch entsprechnede Nutzerreaktionen in dieversen Tests und Seminaren registrieren. Je sauberer und ehrlicher ein Online-Shop aufgebaut ist, desto mehr sind die Leute bereit zu kaufen.

    Harzliche Grüße vom Berg
    esst mehr http://www.harte-harzer.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. echo $begrüßung;

      bei einem echten Online-Shop sollte sich mMn der User _erst_ authentifizieren, bevor er etwas in _seinen_ Warenkorb legen kann. Das erspart viel unnötigen Traffic auf dem Server.

      Und wenn ich als Kunde nur mal einen Preisvergleich mit mehreren Artikeln machen möchte, die mir der Warenkorb schön zusammenrechnet, soll ich erst mal vorher anmelden? Da muss mir der Laden schon was ganz besonderes bieten, dass ich nachzudenken gewillt bin, ob ich mich darauf einlasse.

      echo "$verabschiedung $name";

      1. Hello,

        bei einem echten Online-Shop sollte sich mMn der User _erst_ authentifizieren, bevor er etwas in _seinen_ Warenkorb legen kann. Das erspart viel unnötigen Traffic auf dem Server.

        Und wenn ich als Kunde nur mal einen Preisvergleich mit mehreren Artikeln machen möchte, die mir der Warenkorb schön zusammenrechnet, soll ich erst mal vorher anmelden? Da muss mir der Laden schon was ganz besonderes bieten, dass ich nachzudenken gewillt bin, ob ich mich darauf einlasse.

        Dann bist Du ja auch kein Kunde für den Laden, sondern nur ein Spion.
        Keine Leistung ohne Gegenleistung ;-)

        Harzliche Grüße vom Berg
        esst mehr http://www.harte-harzer.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
    2. Heißa, Tom,

      bei einem echten Online-Shop sollte sich mMn der User _erst_ authentifizieren, bevor er etwas in _seinen_ Warenkorb legen kann.

      Mich als Kunden würde das eher abschrecken. Bei einer Registrierung muss man normalerweise dann gleich seine Adresse angeben und alles. Und sobald ich weiß, dass die mich identifizieren können, lege ich auch nichts mehr testweise in den Warenkorb, da ich mir dann nicht mehr sicher bin, ob ich jetzt nicht schon etwas bestelle, obwohl ich mir noch gar nicht sicher bin.

      Klar, in irgendwelchen AGBs steht sicherlich irgendwas, und wenn der Artikel schon bestellt wurde, obwohl man ihn erst testweise bestellt hat, kann man sicherlich auch klagen, aber nicht jeder ist eben so erfahren in Rechtsfragen.

      Gautera!
      Grüße aus Biberach Riss,
      Candid Dauth

      --
      Ein Fußball-Fan? Noch auf der Suche eine Schlafmöglichkeit im Großraum Stuttgart für die WM 2006? Wie wäre es mit Herrenberg, einer gemütlichen Kleinstadt am Rande des Schönbuchs? – Von der Lage her ideal, auch für andere Vorhaben im Urlaub. Ferienwohnungen-Herrenberg.com.
      http://cdauth.de/
      1. Hello,

        bei einem echten Online-Shop sollte sich mMn der User _erst_ authentifizieren, bevor er etwas in _seinen_ Warenkorb legen kann.

        Mich als Kunden würde das eher abschrecken. Bei einer Registrierung muss man normalerweise dann gleich seine Adresse angeben und alles. Und sobald ich weiß, dass die mich identifizieren können, lege ich auch nichts mehr testweise in den Warenkorb, da ich mir dann nicht mehr sicher bin, ob ich jetzt nicht schon etwas bestelle, obwohl ich mir noch gar nicht sicher bin.

        Das bedeutet also, dass Du den ganzen Tag in irgendwelchen Onlineshops unterwegs bist, und nur so zum Test den Warenkorb füllst?

        Vielleicht hast Du ja auch übersehen, dass ich geschrieben habe, dass man gerne gucken kann ohne Anmeldung. Aber man sieht eben keine Sonderpreise und kann auch nicht automatisch zusammenrechnen lassen oder gar die Verfügbarkeit des Produktes chechem lassen.

        Ehrliche Händler haben auch ehrliche Kunden und auf die anderen können sie locker verzichten...
        Das hält das System frei für die wirklich Interessierten.

        Harzliche Grüße vom Berg
        esst mehr http://www.harte-harzer.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Heißa, Tom,

          Das bedeutet also, dass Du den ganzen Tag in irgendwelchen Onlineshops unterwegs bist, und nur so zum Test den Warenkorb füllst?

          Nein, aber es passiert doch ab und dann auch mal, dass man sich verklickt oder Ähnliches. Jedenfalls fühle ich mich sicherer, wenn ich weiß: Wenn ich hier aus Versehen irgendwas falsch mache, können die mir überhaupt nichts, weil die meine Adresse noch gar nicht haben.

          Gautera!
          Grüße aus Biberach Riss,
          Candid Dauth

          --
          Ein Fußball-Fan? Noch auf der Suche eine Schlafmöglichkeit im Großraum Stuttgart für die WM 2006? Wie wäre es mit Herrenberg, einer gemütlichen Kleinstadt am Rande des Schönbuchs? – Von der Lage her ideal, auch für andere Vorhaben im Urlaub. Ferienwohnungen-Herrenberg.com.
          http://cdauth.de/
          1. Hello,

            Das bedeutet also, dass Du den ganzen Tag in irgendwelchen Onlineshops unterwegs bist, und nur so zum Test den Warenkorb füllst?

            Nein, aber es passiert doch ab und dann auch mal, dass man sich verklickt oder Ähnliches. Jedenfalls fühle ich mich sicherer, wenn ich weiß: Wenn ich hier aus Versehen irgendwas falsch mache, können die mir überhaupt nichts, weil die meine Adresse noch gar nicht haben.

            Das ist ein interessanter Aspekt.
            Ein Betreiber müsste den Anwender also gerade dazu auffordern, alles auszuprobieren, da er zur Not immer noch die "allways exit" Taste drücken kann. Die müsste also immer sichtbar sein "Alles Löschen und zurück auf LOS"...

            Würdest Du Dich dann sicherer fühlen?

            Harzliche Grüße vom Berg
            esst mehr http://www.harte-harzer.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. echo $begrüßung;

              Ein Betreiber müsste den Anwender also gerade dazu auffordern, alles auszuprobieren, da er zur Not immer noch die "allways exit" Taste drücken kann.

              "Alles" wird nicht gehen. An einer bestimmten Stelle müsste es schon aus vertragsrechtlicher Sicht einen Point-of-no-Return geben. Aber ich denke/hoffe, dass du das so gemeint hast.

              echo "$verabschiedung $name";