PDA

Shop Support News Archive - Shopbetreiber News -> Forum : GPL Software xt eCommerce Templates Module SEO Support: : Datenvermischung Bei Gast-kunden


Felix Schwarz
28.11.2006, 13:02
Hallo,

in einem Shop ist folgendes Problem aufgetreten:
Ein Kunde bestellt als Gast, anschließend (ca. 30 Minuten später) ein zweiter ebenfalls als Gast (andere IP, anderer Name etc.). Allerdings bekommen beide orders die gleiche customers_id ("n"). Dies führt dazu, dass die Bestätigungs-E-Mail des zweiten an den ersten Kunden versandt wird... Rechnungsadresse, Versandadresse und Warenkorb sind unterschiedlich und vermutlich rnichtig. Zwischen diesen beiden Kunden gab es keine Bestellungen.

"Löschen von Gast-Konten" ist aktiv. XTC v3.0.4 SP1.

Ist dieses Problem bei anderen schon aufgetreten/bekannt? (Habe mit der Forensuche nichts gefunden...)

Glaskugel: Damit dieses Verhalten auftaucht, müsste der Shop doch ein Kundenkonto erstellen, es aber nicht löscht (sonst wären die Kundendaten beim zweiten ja nicht mehr vorhanden). Außerdem müsste er dann beim zweiten Gastkunden aus irgendeinem Grund erneut diese ID verwenden und sie in der DB speichern. Eigentlich ist customers.customers_id ja ein auto_increment-Feld, es sollte also schon durch MySQL sichergestellt sein, dass nie zwei Einträge die gleiche ID bekommen. Dennoch ist die Kundennummer n+1 vergeben, allerdings hat dieser Kunde nie etwas bestellt. Merkwürdig ist an n+1 auch, dass sämtliche Datumsfelder in customers auf 0000-00-00 00:00:00 stehen.

<edit>
Mir ist aufgefallen, dass diverse Gastkonten in der Datenbank gar nicht gelöscht wurden. Eine Durchsnicht des Codes zeigte, dass ein Löschen des Gastkontos nur in logoff.php stattfindet. Diese wird aufgerufen, wenn der Kunde nach checkout_success auf "Weiter" klickt. Heißt dies im Umkehrschluss, dass ein Gastkonto nie gelöscht wird, wenn der Kunde NICHT darauf klickt? Dass er also nie wieder als Gast bestellen kann, weil die E-Mail-Adresse schon vergeben ist?
</edit>

fs

PS: Unnötig zu sagen, dass auf meinem lokalen Testsystem der Fehler natürlich nicht nachvollziehbar ist.