Antwort #25 am: 19. April 2009, 19:47:24
So, Erfolg auf ganzer Linie, aber ein Problem hab damit schon noch (s. Frage unten).
SSL Funktioniert jetzt einwandfrei (tippfehler) - Danke zub - der Code funktioniert!
Zum doppelten-Eintrag-Fehler:
Die Suche in MySQL brachte es an den Tag, trotz mehrfachem Leeren der Table Sessions blieb der Eintrag mit der Nr. 2147483647 erhalten. Also in der Suche ausgewählt und löschen gedrückt, wieder nix - Eintrag blieb erhalten (hartnäckiges Teil). Erneut suchen - jetzt auf bearbeiten statt löschen, und den Wert dann dort markieren und löschen - Das hat dann funktioniert. Nun Table Sessions noch einmal leeren, da ein Dateiüberhang von 1651 Bytes angezeigt wurde - Das wars.
Fehlerursache möglicherweise auch ausfindig gemacht. Ist das ein Bug? Das sollte mal jemand austesten, der mehr davon versteht als ich.
Im Cookie war noch ein Eintrag von einer Testbestellung gespeichert, wodurch hartnäckig eine Session-ID für den Artikel aufgerufen wurde. Der Artikel wurde aber inzwischen geändert, bzw. um Informationen ergänzt. (Keine Ahnung wie sich das auf den Datenbankeintrag auswirkt, aber das muss es wohl gewesen sein). Die Bestellung wurde damals nicht zuende ausgeführt, sondern nur der Artikel 2x in den Warenkorb gelegt, dann wurde die Bestellung abgebrochen. Dieser Status muss wohl irgendwo vermerkt worden sein.
Als ich nun den (inzwischen aktualisierten) Artikel nochmal in den Warenkorb legen wollte kam die Fehlermeldung. Damit muss wohl auch ein fehlerhafter Eintrag in die Datenbank verbunden gewesen sein, sonst hätten ja andere diese Fehlermeldung nicht erhalten.
Lösungsweg: Datenbankeintrag löschen - Cookie löschen (kein Witz) dann nochmal den Artikel aufrufen - nun läuft wieder alles fehlerfrei.
Frage: Wie kann man nun verhindern, dass ein Kunde einen Cookie auf seinem Rechner hat, der einen Verweis auf einen alten Artikel beinhaltet? Und wieso wurde eigentlich der Cookie - soll ja wohl ein Session-Cookie sein - am Ende der Sitzung nicht gelöscht? Habs gerade ausprobiert der aktuell angelegte Cookie wird sowohl bei Firefox als auch bei Opera ordnungsgemäß am Ende der Sitzung gelöscht. Wo kam nun der alte Cookie mit dem Schrottinhalt her? Oder bezog der neue Cookie die alten Daten aus dem DB-Eintrag für den Warenkorb? Kann ich leider nicht nachvollziehen, da ich den Eintrag im Zuge der Suche nach dem Fehler gelöscht habe. Müsste man dann aber nicht den Warenkorb des Kunden am Ende der Sitzung automatisch löschen, um dieses Problem zu vermeiden?