Shopsystem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
adresse
anfrage
artikel
beispiel
benutzer
bestellung
browser
code
datei
datenbank
datum
eintragen
jemand
kaufen
kunde
problem
session
tabelle
warenkorb
-
@evil-devil: Das Problem bei deiner Art das zu machen ist, dass soblad der User den Browser (ausversehen) schließt, ihn wieder öffnet und sich einloggt alles weg ist. Wenn er jetzt 200 Artikel bestellt hat, wird es mühsam, die alle nichmal einzukaufen. Mimmt man die User-Id (auto increment), so ist diese ID immer gleich, egal ob der User dauerhaft eingeloggt ist, oder nicht. Er kann sogar den Browser schließen, und beim nächsten Besuch ist alles noch da.
Also: Die von MySQL mit Hilfe von auto increment erstellte ID ist die einzige Lösung. Mitunter deswegen, da dort jede ID einzigartig ist. Und das ist 100%ig sicher. Bei deiner Zufalls-Variante ist das nicht der Fall. Da könnte eine "ID" mehrmals vorkommen. Und dann gibt es sofort Ärger! Das darf nie passieren! ID ist in Anführungszeichen, da eine ID ja eine Identifikationsbezeichnung ist, muss also eindeutig zuordnungsbar sein. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
drafed-map schrieb:
@evil-devil: Das Problem bei deiner Art das zu machen ist, dass soblad der User den Browser (ausversehen) schließt, ihn wieder öffnet und sich einloggt alles weg ist. Wenn er jetzt 200 Artikel bestellt hat, wird es mühsam, die alle nichmal einzukaufen. Mimmt man die User-Id (auto increment), so ist diese ID immer gleich, egal ob der User dauerhaft eingeloggt ist, oder nicht. Er kann sogar den Browser schließen, und beim nächsten Besuch ist alles noch da.
Das funktioniert allerdings nur, wenn die User sich vorher auch Registrieren. In meinen Auge auch keine gute Lösung.
Ich würde dann eher versuchen Cookies zu verwenden, die vielleicht eine Haltbarkeit von 12 Stunden haben oder so. -
Das ist doch erstmal eigentlich alles vollkommen egal wie man das technisch löst. Der TE ist doch bereits mit den aktuellen Anforderungen am Limit seiner Fähigkeiten und sollte erstmal die Grundlagen verinnerlichen. Danach können wir ihm von mir aus den anderen Krams beipulen.
-
tct schrieb:
drafed-map schrieb:
@evil-devil: Das Problem bei deiner Art das zu machen ist, dass soblad der User den Browser (ausversehen) schließt, ihn wieder öffnet und sich einloggt alles weg ist. Wenn er jetzt 200 Artikel bestellt hat, wird es mühsam, die alle nichmal einzukaufen. Mimmt man die User-Id (auto increment), so ist diese ID immer gleich, egal ob der User dauerhaft eingeloggt ist, oder nicht. Er kann sogar den Browser schließen, und beim nächsten Besuch ist alles noch da.
Das funktioniert allerdings nur, wenn die User sich vorher auch Registrieren. In meinen Auge auch keine gute Lösung.
Ich würde dann eher versuchen Cookies zu verwenden, die vielleicht eine Haltbarkeit von 12 Stunden haben oder so.
Dann müsste man nicht registrierten Usern eine ID mit einem Cookie geben, und den Registrierten die aus der DB. Aber wie gesagt: bei Zufallszahlen ist immer ein Risiko vorhanden. -
So, da bin ich mal wieder ... und wieder verwirrt :D (mein neuster Standardzustand, möcht ich meinen).
Also, registrieren: nein, das möchte ich nicht.
Cookies: Gerne, aber wie? Mein schlaues Buch sagt mir irgendwas von setcookies() (o.ä. - hab es gerade nicht zur Hand :D).
Aber was ich noch am allerwenigsten verstehe: Wenn ich eine Tabelle erst dann anlege, wenn die Bestellung tatsächlich ausgeführt wurde (also nicht nur in den Warenkorb gelegt wird): Wo wird dann der Warenkorb gespeichert. Wie pule ich dem Script bei, welcher Artikel was ist und dass der User diesen gern in seinem Warenkorb haben möchte? (Ich glaube, das ist sowieso der allgemeine Knackpunkt, gelle?)
Zu der While-Schleife noch mal: Ich weiß leider nur, wie ich Zeilen damit auslese, nicht jedoch die einzelnen Spalten. Ich hab zwar gestern noch ein wenig damit rumgefummelt, aber leider stets einen leeren Warenkorb erhalten (noch ohne den Text: Warenkorb leider leer oder so). -
Du speicherst den Warenkorb des Benutzers in seinem Session Array. Zum einen die ID des Artikels und dazu dann noch die Anzahl.
Beim anzeigen des Warenkorbs übergibst du die IDs der SQL Anweisung und holst dir damit alle notwendigen Artikelinformationen aus der Datenbank.
@tabelle anlegen: es hat niemand gesagt das die nicht schon besteht. In aller Regel erstellt man erst das Datenbank-Modell und dann den Code bzw. wenn es zeitnah beieinander geschieht hat man vorher schon eine rege Vorstellung davon wie die Datenbank ausschauen soll. Und das ist hier glaube ich noch überhaupt nicht der Fall. -
Hopla, hab ich "tabellen anlegen" geschrieben? :D Nein, ich meinte eher die Einträge in die Tabelle, also die einzelnen Zeilen.
Gut, dann werde ich mal schauen, ob meine schlauen Bücher mir etwas über Session Arrays verraten ;). -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage