Opened 8 months ago

Closed 8 months ago

#1988 closed Bug/Fehler (invalid)

Fehler customers_id

Reported by: Karsta Owned by: somebody
Priority: hoch Milestone:
Component: Admin Version: 2.0.4.2

Description

Ich habe heute einen Fehler entdeckt, der bei mir auftritt, wenn man Gast- und Kundenbestellung erlaubt.
Es ist mir aufgefallen, weil ein Kunde ein Kundenkonto angelegt hat, aber keine Bestellung getätigt hatte. Er aber in der Kunden-Übersicht mit einem Umsatz angezeigt wird.

Erklärung:
Gast meldet sich an und bestellt und bekommt so in der
TABLE orders eine customers_id zugewiesen. (48)

Neuer Kunde meldet sich an und erhält mit Erstellung seines Kontos ebenfalls eine customers_id aber in der TABLE customers

und scheinbar tritt so der Fehler in der admin > Kundenübersicht auf.

Ob der Kunde in seinem Kundenkonto die Bestellung des Gastes sehen kann, müsste man mal erfragen.

Ist dieser Fehler schon mal registriert?

Attachments (0)

Change History (11)

comment:1 Changed 8 months ago by GTB

Auch eine Gastbestellung bekommt die customers_id aus der customers Tabelle. Der Eintrag in der customers Tabelle wird je nach Einstellung wieder gelöscht. Die vergeben customers_id wird aber nicht nochmal verwendet.

comment:2 Changed 8 months ago by Karsta

Im Admin war die Einstellung > Löschen von Gast-Konten > auf JA.

Wieso wird dann der Umsatz der Gastbestellung customers_id = 48 (table orders),
dem Kundenkonto customers_id = 48 (table customers) angezeigt?

Sieht nun der Kunde in seinem Konto auch die Gastbestellung?

comment:3 follow-up: Changed 8 months ago by GTB

  • Resolution set to invalid
  • Status changed from new to closed

Die customers_id in der customers Tabelle ist ein auto increment Wert und wird nur 1x vergeben. Auch wenn der letzte Eintrag gelöscht wird, wird die letzte vergebene ID nicht nochmals vergeben.

Und ja, der Kunde mit der ID 48 sieht die Bestellung mit der customers_id 48. Darüber erfolgt die Zuordnung.

Last edited 8 months ago by Tomcraft (previous) (diff)

comment:4 Changed 8 months ago by Karsta

Dachte ich mir, allerdings hat niemand am auto increment Wert etwas geändert.

Danke für deine Ausführung.

comment:5 in reply to: ↑ 3 Changed 8 months ago by Tomcraft

Replying to GTB:

Die customers_id in der customers Tabelle ist ein auto increment Wert und wird nur 1x vergeben. Auch wenn der letzte Eintrag gelöscht wird, wird die letzte vergebene ID nicht nochmals vergeben.
[...]

Um das nochmal zu untermauern: Ein DELETE verändert nicht den auto_increment Wert einer Tabelle!
Beteiligte Dateien (suche nach DELETE_GUEST_ACCOUNT):

  • /checkout_success.php
  • /logoff.php
  • /includes/functions/sessions.php

comment:6 Changed 8 months ago by karsta

Habe gerade im dev-shop genau oben benanntes Problem erzeugt.
Es passiert scheinbar dadurch, dass man im admin für dem Gast eine neue Bestellung anlegt. Da stimmt dann was nicht mit der neuen Kunden-id. Werde morgen noch weitere Tests dazu machen.

comment:7 Changed 8 months ago by anonymous

Das Problem ist nicht der auto_increment Wert, der wird für die Order korrekt gesetzt, sondern dass in der Tabel Order einfach die Customers-ID weiter gezählt wird und in dem Fall nicht mit dem customer übereinstimmt.

comment:8 Changed 8 months ago by Tomcraft

  • Milestone set to modified-shop-2.0.6.0
  • Resolution invalid deleted
  • Status changed from closed to reopened

Dann öffne ich das Ticket nochmal bis das abschließend geklärt ist.

comment:9 Changed 8 months ago by noRiddle

Wer ist "anonym" und sagt das ?
"
Das Problem ist nicht der auto_increment Wert, der wird für die Order korrekt gesetzt, sondern dass in der Tabel Order einfach die Customers-ID weiter gezählt wird und in dem Fall nicht mit dem customer übereinstimmt.
"

Wo wird "Tabel Order einfach die Customers-ID" einfach weitergezählt ?
Das ist schlicht inkorrekt.
Deine Aussage ist vage und macht keinen Sinn.

In der Tabelle odres wird als customers_id die $_SESSIONcustomer_id? gespeicherrt und die wird sowohl bei Kunden-Konten, als auch bei Gast-Konten aus dem auto_increment der Tabelle customers generiert/geholt.
Bei Login, was ja nur bei "echten" Kunden-Konten geht, nicht bei Gast-Konten, wird sie aus der bereits gespeicherten customers_id aus der Tabelle customers geholt.

Auch bei Anlegen einer Bestellung für ein Gast-Konto im Backend kann ich weder im Code* noch durch praktisches Testen in einem aktuellen 2.0.5.1-Shop Probleme feststellen.

*Code
in /admin/customers_listing.php (action=new_order) und /admin/customers.php (action=new_order_confirm)

Gruß,
noRiddle

comment:10 Changed 8 months ago by Karsta

Kurze Rückmeldung zum Thema:
Nach mehreren erneuten Versuchen ist mir das Nachstellen des oben genannten Problems nicht noch einmal gelungen. Wie es dazu kommen kann ist mir wirklich bis heute ein Rätsel.

Sollte ich dafür irgend eine Antwort finden, werde ich sie mitteilen.

comment:11 Changed 8 months ago by GTB

  • Milestone modified-shop-2.0.6.0 deleted
  • Resolution set to invalid
  • Status changed from reopened to closed

Bis dahin bleibt das Ticket geschlossen.

Add Comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.