webForumDet fria alternativet

Webshop: Upplägg för kundregister osv...

Webbutveckling

11 svar · 487 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Hej!

Jag håller på att bygga upp en webshop där jag ska försöka hålla upplägget så enkelt som möjligt med kundvagnen och så där.

Så här har jag börjat:

1. När användaren besöker sidan så skapas en Session med "customer_id" och "customer_ip". "customer_id" är ett tal mellan 10000-99999 som ska vara unikt.

2. När användaren lägger produkter i kundvagnen så sparas dom med "customer_ip" och "customer_id" som identifiering till kunden.

3. När användaren går till kassan så får användaren registrera sina adressuppgifter osv som sedan sparas i tabellen för användare tillsammans med ett av användaren valt lösenord (för att kunna se status på ordern senare).

4. Väljer användaren att INTE köpa dom produkterna denna har lagt i kundvagnen så raderas inaktiva produkter i kundvagnen efter ~1tim.

Så med andra ord behöver inte användaren registrera sig Innan denna handlar på webshopen. Ej heller logga in.

Är detta en smart och bra lösning? Finns det några stora nackdelar som jag inte ser?

Tacksam för tips och råd!

Mvh
Oskar

Medlem sedan juni 20019 024 inlägg
#2

Spara en cookie i stället. Då kan man komma tillbaka dagen efter och fortsätta handla.

Webbplatser som raderar kundvagnens innehåll efter en viss tid ökar bara irritationen när man måste fylla den igen. Vill jag kolla in utbudet och bestämma mig för vad jag ska köpa nästa vecka så bör jag få göra det.

Sedan är det förstås mycket enklare att sätta en cookie när användaren lägger något i kundvagnen, än att ge ett unikt nummer vid varje sidladdning. Keep it simple.

Medlem sedan nov. 20051 317 inlägg
#3

Tack för tipsen!

Jo men... jag vet inte hur man gör för att göra om kundvagnen till en kaka.

Vad ska kakan heta när man sätter ett automatiskt namn på den?

Medlem sedan juni 20019 024 inlägg
#4
  1. Användaren går in på sidan och tittar.
  2. Lägger produkt i kundvagnen.
  3. En post skapas i tabellen för kunvagnen och returnerar ett ID på vagnen.
  4. Sätt en cookie, exempelvis Shoppingcart=345 (namn=värde) där 345 är ID-numret på vagnen.
  5. Om kunden lägger till fler produkter (omedelbart eller en vecka senare) så hämtar man kundvagnen från cookien och lägger till.
Medlem sedan nov. 20051 317 inlägg
#5

Okej, tack!

Typ så här:
Response.Cookies("customer_id")=12389 (slumpat nummer, men unikt efter koll i databas)
Response.Cookies("customer_id").Expires=dateserial(Year(Now),Month(Now),Day(Now)+30)

Då har användaren fått ett ID som är sparat som en cookie i 30dagar på användarens dator. Det är väl okej om kundvagnen sparas i 30dagar?

Men produkterna i kundvagnen är fortfarande sparade i en databas, fast IDet är taget från cookien... det är så du menar va?

Men ska man ha så att användaren ska kunna logga in och hålla? Tänkte att man bara ska få ett lösenord för varje specifik order, så man kan kolla status och sådär! Vad tror du om det?

Medlem sedan juni 20019 024 inlägg
#6

Men du behöver ju inte slumpa fram några ID-nummer alls. Sätt ID-nummer när de behövs helt enkelt. Jag skulle inte sätta någon tidsfrist på cookien, det fungerar bra med att den sparas "för alltid".

oskars skrev:

Men produkterna i kundvagnen är fortfarande sparade i en databas, fast IDet är taget från cookien... det är så du menar va?

Det stämmer. Fast ID-numret är ju taget från databasen och lagd i cookien - inte tvärtom.

oskars skrev:

Men ska man ha så att användaren ska kunna logga in och hålla? Tänkte att man bara ska få ett lösenord för varje specifik order, så man kan kolla status och sådär! Vad tror du om det?

Det beror lite på vad nätbutiken ska sälja. Är det sällanköp kan det mycket väl fungera, men annars skulle jag rekommendera en vanlig inloggning.

När personen loggar in kan man knyta kundvagnen till kontot först då, vilket gör att man också kan få fram den när man loggar in på en annan dator (då det bara är att knyta cookien dit också).

Medlem sedan nov. 20051 317 inlägg
#7

Hm... okej... hänger ändå inte riktigt med...

1. Användaren besöker webshopen.
2. Lägger något i kundvagnen
3. Då sparas produkten i databasen för kundvagnen
4. Den första produkten som läggs till får ett ID som resten av produkterna som läggs till ska få även dom. Detta IDet sparas som cookie på den datorn.

Är det så du menar?

Medlem sedan juni 20019 024 inlägg
#8

Ja, det stämmer med undantag för sista punkten. Jag förtydligar med databasstrukturen:

[U]Products[/U]
1 dvd
2 brödrost
3 tandborste

[U]Shoppingcart[/U]
345 

[U]ShoppingcartProductsMap[/U]
345 - 2
345 - 3

Användaren har alltså lagt en brödrost (2) och tandborste (3) i kundvagnen (345).

Medlem sedan nov. 20051 317 inlägg
#9

Varför behövs Shoppingcart? Själva kundvagnen är ju i ShoppingcartPorductsMap.

Menar du att t.ex namnuppgifter och sånt ska sparas i Shoppingcart?

Medlem sedan juni 20019 024 inlägg
#10

Nej, själva kundvagnen är Shoppingcart. ShoppingcartProductsMap innehåller produkterna i kundvagnen. På detta sätt får du fram ett unikt ID för varje kundvagn, du kan spara information om vem kundvagnen tillhör (IP) och vilket datum den lades till. Det är mer stringent och normaliserat att separera själva vagnen från dess innehåll.

När sedan den inloggade användaren har tryckt "Slutför beställning" så sätts användarens ID-nummer på shoppingvagnen. På så vis går det på ett mycket enkelt sätt att få en köphistorik med mera.

Om du däremot gör som du föreslår, så den första inlagda produkten bildar shoppingvagn, får du problem med att knyta ihop de efterföljande produkterna och generera ID-nummer, och det blir en svåröversiktlig tabell. Inte minst när du ska knyta ihop alla produkter med en användare.

Medlem sedan nov. 20051 317 inlägg
#11

Hm... okej... jag förstår.

Så här typ:

1. Kunden lägger till första produkten i kundvagnen
2. Kundvagnen skapas i Shoppingcart och får ett ID
3. Produkten läggs till i ShoppingcartProductsMap med ID från Shoppingcar
4. När kunden lägger till nästa produkt kontrolleras det om det redan finns en kundvagn i Shoppingcart, och produkten läggs till i ShoppingcarProductsMap med samma ID som tidigare produkt.

Så va?

Men varför ska användaren få ett nytt ID-nummer, när kundvagnen redan har ett? Det borde väl gå att använda det? Eller ska användarens nya ID-nummer skapas i en tabell för kundregister?

Medlem sedan juni 20019 024 inlägg
#12

oskars skrev:

Hm... okej... jag förstår.

Så här typ:

1. Kunden lägger till första produkten i kundvagnen
2. Kundvagnen skapas i Shoppingcart och får ett ID
3. Produkten läggs till i ShoppingcartProductsMap med ID från Shoppingcar
4. När kunden lägger till nästa produkt kontrolleras det om det redan finns en kundvagn i Shoppingcart, och produkten läggs till i ShoppingcarProductsMap med samma ID som tidigare produkt.

Så va?

Precis. Under punkt 4 så ska det ju finnas en cookie som man kan hämta ID-numret på kundvagnen ifrån.

oskars skrev:

Men varför ska användaren få ett nytt ID-nummer, när kundvagnen redan har ett? Det borde väl gå att använda det? Eller ska användarens nya ID-nummer skapas i en tabell för kundregister?

Användaren ska inte få ett nytt nummer, det var ju det jag skrev tidigare att det inte finns någon mening med att slumpa fram.

Användarens ID sätter du på kundvagnen om kunden är inloggad eller efter kunden har loggat in. Tills dess kan du aldrig veta vilken kund vagnen ska knytas till.

Användarens ID-nummer ligger självfallet i en egen tabell med kundregistret.

333 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
196 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
196 ms — ändringar (db)