php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-05-2004, 00:51
Lodi
 Registrierter Benutzer
Links : Onlinestatus : Lodi ist offline
Registriert seit: Sep 2003
Ort: Chemnitz
Beiträge: 51
Lodi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Shop-Problem: Bestellung des gleichen Artikels

Hallo in die Runde,

in einem von mir erstellten Shop-System (auf PHP/MySQL-Basis) tritt jetzt nach 4-monatigem Einsatz und steigender Besucherzahl desöfteren das Problem auf, das 2 Kunden einen Artikel bestellen, der nur noch 1x "on stock" ist.

Dies möchte ich natürlich verhindern, da es unnötigen Aufwand verursacht.

Ich versuche mal den Bestellvorgang etwas detaillierter zu beschreiben:

1. User betritt die Seite, bekommt eine Session-Id.
2. Er loggt sich ein (ohne einloggen -> kein Warenkorb/kein bestellen).
3. Er legt einen Artikel in den Warenkorb (nur möglich bei Artikelmenge >0)
4. Er geht "zur Kasse", wählt Zahlmethode, Versandart und Lieferadresse (vorher im User-Profil gespeichert)
5. Er bestellt

Bei 5. passiert eigentlich das relevante:
-in der Tabelle 'orders' wird für jeden Artikel ein Eintrag angelegt, mit gleichbleibender Bestellnummer, User-id, Artikel-id, bestellter Anzahl und den restlichen für die Bestellung relevanten Daten

-die Anzahl der bestellten Artikel in der Datenbank wird nach unten korrigiert, also "bisherige Anzahl - bestellte Anzahl".

Und hier, bzw. auch beim "in den Warenkorb legen" des Artikels ist sicherlich das Problem.
Es wird ja nur beim Reinlegen überprüft, ob der Artikel vorhanden ist oder nicht. Liegt er einmal drin, kann er bestellt werden.
Sind nun 2 Leute jeweils ne halbe Stunde im Shop unterwegs, und deren aktive Zeiten überschneiden sich (sprich, der eine legt den Artikel in den Warenkorb und bestellt noch nicht, inzwischen legt der andere den Artikel auch rein), kommt es zur oben genannten Problematik.


Hoffe ich habe das verständlich beschrieben...
Muss noch dazusagen, nach 1h Inaktivität wird der User automatisch ausgeloggt und der Warenkorb geleert.


Hat jemand von euch vielleicht eine Idee, für eine Art Workaround oder so?
Artikelanzahl beim reinlegen in den Korb runterzusetzen ist Mist, da könnte ja einer Ärger machen wollen und alles mögliche reinlegen, dann einfach nicht bestellen.
Ich dachte vielleicht daran die Inaktivitätsgrenze nach unten zu korrigieren...auf vielleicht 15 Minuten. Würde eventuell einiges eindämmen, aber das ganze nicht wirklich umgehen.

Danke schon mal im Voraus, wenn sich jemand mal nen Kopf macht

Geändert von Lodi (06-05-2004 um 00:55 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 06-05-2004, 01:33
kill_bill
 PHP Senior
Links : Onlinestatus : kill_bill ist offline
Registriert seit: Nov 2003
Ort: Meppen
Beiträge: 1.025
kill_bill ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Shop-Problem: Bestellung des gleichen Artikels

Zitat:
Original geschrieben von Lodi

Ich dachte vielleicht daran die Inaktivitätsgrenze nach unten zu korrigieren...auf vielleicht 15 Minuten. Würde eventuell einiges eindämmen, aber das ganze nicht wirklich umgehen.
Nein, würde ich nicht machen - da kann Mensch ja noch nicht mal zwischendurch auf´s Klo gehen oder Mittag essen ...
Wir hatten den Timeout mal auf 20 Minuten gesetzt und das hat nur Probleme bzw. Protest gegeben.

Die einzige sinnvolle Lösung ist, beim finalen Bestellprozess erneut den Bestand zu kontrollieren und die Bestellung ggf. aufgrund des fehlenden Artikels mit einer entsprechenden Fehlermeldung abzubrechen.

Wenn man den ganzen Kram mal weiterspinnt, hast Du aber noch eine wahnwitzige Möglichkeit:
Du kannst, sobald sich mehr Artikel in Warenkörben befinden, als vorhanden sind, den Kunden mitteilen, dass nur derjenige, der schneller ist, den Artikel bekommt.
__________________
(-:
Bookmarks:·Bilder·Jobs·Recht·
kostenloser Webkataloge-Assistent
Mit Zitat antworten
  #3 (permalink)  
Alt 06-05-2004, 07:27
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

wenn du den kunden nicht sagen willst, dass der artikel zur zeit leider vergriffen ist (und eine bestellung daher länger dauert), dann geh davon aus, dass der kunde alles bestellt, was er in seinen einkaufskorb legt


in nem normalen supermarkt geht auch kein kune hin und klaut dir brühwürfel aus dem einkaufskorb während er sich an dir vorbei zur kasse vordrängelt


kannst ja einen hinweis machen: "Sollte der von Ihnen gewünschte Artikel ausnahmsweise nicht in ausreichender Stückzahl vorrätig sein, versuchen Sie es doch später nocheinmal. Wir aktualisieren unsere bestände <session-timeout, z. b. stündlich."


ist zwar imho nicht so elegant wie die variante, die z.b. amazon verwendet, aber dafür auch nicht so aufwendig (evtl. LOCK TABLE verwenden *g*)
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #4 (permalink)  
Alt 06-05-2004, 10:04
kill_bill
 PHP Senior
Links : Onlinestatus : kill_bill ist offline
Registriert seit: Nov 2003
Ort: Meppen
Beiträge: 1.025
kill_bill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mrhappiness
wenn du den kunden nicht sagen willst, dass der artikel zur zeit leider vergriffen ist (und eine bestellung daher länger dauert), dann geh davon aus, dass der kunde alles bestellt, was er in seinen einkaufskorb legt
Wenn ich Dich richtig verstehe, meinst Du, alle Artikel, die Kunde sich im Warenkorb legt, zu reservieren und ggf. erst nach seiner Session-Timeout wieder freizugeben?

Das finde ich keine gute Idee, denn aus meiner Erfahrung heraus kann ich sagen, dass es viele Shop-Besucher gibt, die ihren Traum-Warenkorb zusammenstellen und danach doch nicht bestellen. Der Prozentsatz ist sogar relativ hoch.
Dies bringt vor allem Probleme mit sich, wenn man viele Einzelprodukte hat, was ja bei Lodi scheinbar der Fall ist.
__________________
(-:
Bookmarks:·Bilder·Jobs·Recht·
kostenloser Webkataloge-Assistent
Mit Zitat antworten
  #5 (permalink)  
Alt 06-05-2004, 10:17
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

aber kunden erst sachenbestellen lassen und dann zu sagen "ätschbätsch, geht ja gar nicht" ist auch nicht wirklich toll, da würde ich es vorziehen, die wahl zu haben:
  • entweder ich warte, bis alle artikel da sind
  • oder ich lass mir meine bestellung auf mehrere lieferungen verteilt schicken

aber das will lodi janicht
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #6 (permalink)  
Alt 06-05-2004, 10:28
kill_bill
 PHP Senior
Links : Onlinestatus : kill_bill ist offline
Registriert seit: Nov 2003
Ort: Meppen
Beiträge: 1.025
kill_bill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mrhappiness
aber kunden erst sachenbestellen lassen und dann zu sagen "ätschbätsch, geht ja gar nicht" ist auch nicht wirklich toll,...
Da hast Du nicht unrecht. In solch einem Fall kann man vielleicht auch auf ein Ampelsymbol oder etwas vergleichbares zurückgreifen und somit auf die bedingte Verfügbarkeit und auf den Umstand, dass nur der, der schneller bestellt, die Ware bekommt, hinweisen.

Mir ist allerdings klar, dass solche Hinweise auch nervend wirken können. Der Königsweg ist imho, immer einen Mindestlagerbestand zu halten, der im Normalfall das Tagesgeschäft so lange abdeckt, bis die nachbestellte Ware eintrifft.
__________________
(-:
Bookmarks:·Bilder·Jobs·Recht·
kostenloser Webkataloge-Assistent
Mit Zitat antworten
  #7 (permalink)  
Alt 06-05-2004, 18:17
Lodi
 Registrierter Benutzer
Links : Onlinestatus : Lodi ist offline
Registriert seit: Sep 2003
Ort: Chemnitz
Beiträge: 51
Lodi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke daß ihr euch Gedanken gemacht habt

Falls es euch interessiert, um welchen Shop es überhaupt geht:
Important Records

Ich bin ja nun "nur" der Programmierer und nicht der, der den Shop letztendlich administriert und die Bestellungen bearbeitet.
Daher wurde ich gebeten, dieses Problem unter die Lupe zu nehmen und möglichst so zu umgehen, daß kein Arbeitsaufwand entsteht. Der Shop soll das ganze sozusagen regeln.

Desweiteren ist es momentan so, daß die Kunden ohne weiteres nicht einsehen können, wieviel Stück des Artikels noch verfügbar sind. Sie sehen halt nur, ob sie ihn in den Warenkorb legen können (stock>0) oder nicht (stock==0). Sie können allerdings die maximale Stückzahl durch eine höhere Eingabe überschreiten, die dann automatisch auf die vorhandene Zahl korrigiert wird. Passiert aber in der Praxis eher selten, da es sich um Platten und CDs handelt und man die ja meist nur 1x braucht

Ich persönlich, wäre ich Kunde, würde es auch eher zu schätzen wissen, wenn ich nach dem Bestellen eine persönliche Mail bekomme, daß einer meiner bestellten Artikel nicht mehr verfügbar ist, und vor die Wahl gestellt werde, ob ich erstmal die restlichen Artikel bezahle und geliefert bekomme, oder gar ganz abwarten will, oder im schlimmsten Fall stornieren will.

Das ganze Shopsystem ist nicht darauf konzipiert, daß die User ihre offenen Bestellungen einsehen/bearbeiten können.
Ebenfalls ist dies als Admin nicht möglich.
Die Bestellung kommt "am Stück" rein und es ist momentan technisch für den Shopbetreiber nicht möglich, da einzelne Artikel rauszustreichen.
Also müsste er die Rechnung "per Hand" neu berechnen/schreiben usw. und so fort...der unerwünschte Aufwand.

Im Moment ist halt eine Stornierung der schnellste Weg für den Betreiber, aber eben auch der ärgerlichste für den Kunden.

Ich werde das nochmal mit dem Betreiber beraten, wo man da jetzt Prioritäten setzt.

Danke nochmal
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37 Uhr.