Antar att man lägger in produkterna i Sessions men man kan ju inte skapa nya Sessions för varje vara eller? SKulle vilja ha någon typ av Array Session.
Det här har ju många gjort så nån måste ju kunna förklara hur det går till :)
Du kan lagra varorna lite hur som helst nästan. Jag skulle ha använt en databas för att lagra varorna i, men cookies går ju finfint det också. Sessioner kan vara lite farliga på så sätt att användaren kan vara inaktiv i "rätt" antal minuter så att varorna i varukorgen försvinner.
Vid användning av cookies behöver du ju knappast lagra all information om varorna som du lägger till, utan det räcker med ett referensnummer till deras plats i databasen, t.ex. ett ID-nummer.
Aha. Men om jag lagrar det i en databas så måste jag väll ändå göra så att varorna försvinner efter ett visst antal minuter? Annars blir de ju liggande där om användaren lämnar sidan?
Det kan, som icaaq säger, vara bra att hålla koll på vad man säljer. Du kan ha ett extrafält där du ändrar värdet till True eller liknande om varorna har blvit beställda, och inte bara är lagda i varukorgen.
Du måste ju fortfarande hålla koll på användarna & deras varor, och en cookie eller session är då att föredra. På sätt kan man ju tycka att man lika bra kan spara varorna i cookien också, för att samla allt på ett ställe. Och det är klart du ska göra det, om du inte vill ha en bra koll på vad det är du har sålt, osv.
Jo varorna som säljs lagras ju i en databas när man verkligen bestämmer sig för att handla dem. Men medan de inte är definitivt beställd tycker jag det verkar enklast att ha dem i en egen databas som raderas om man inte beställt inom typ 60 min.
Men jag kan inte cookies ;)
I så fall lägger jag dem väll i samma databas med ett extra fält som talar om om vara köpts eller inte. Och de varor som inte köpts efter 60 min plockas bort från databasen :)
Varför radera den påbörjade beställningen överhuvudtaget efter en timme eller så?
Kunden kanske vil komma tillbaka och fortsätta sitt inköp vid ett senare tillfälle. Skulle mest bli frusterad om jag måste börja om från början då.
En oavslutad order tar ju inte upp något direkt utrymme så det kan ju inte vara problemet.
kanske en funktion som uppmärksammar kunden vid sitt nästa besök att det finns en påbörjad beställning kan vara något?