Lite kod tack
...fast jag tycker inte det är så smart med cokies om man ska kunna handla på olika datorer...
20 svar · 336 visningar · startad av nachip
Yo!
Jag håller på med en kundvagn där jag lägger varorna i en cookie. Mitt problem är att jag inte vet hur jag ska lösa det när man tar bort en vara ur kundvagnen.
Vi säger t ex. att Kalle lägger två bananer i kundvagnen, men upptäcker senare att han bara vill ha en banan. Hur tar jag då bort den utan att tömma hela cookien?
.nachip
Lite kod tack
...fast jag tycker inte det är så smart med cokies om man ska kunna handla på olika datorer...
ja, du... jag har inte så mycket kod att visa än... ;)
Varför tycker du inte att cookies är så smart?
nachip>>testa att sök lite på kundkorg, cookies etc etc ;)
du kommer att hitta massor :)
------------------
Korvfarbror--Med ring på fingret
testa att sök lite på kundkorg, cookies etc etc
Du vet inte med andra ord ;)
Jo, jag har faktist sökt men inte hittat nåt vettigt svar... testa själv och sök på cookies och se hur många träffar du får upp. Vill du gå igenom alla åt mig? :)
nu är jag inte så bevandrad inom webbshopar men jag vet hur jag hade gjort:
använt cookien till en temp databas där alla produkter gäller. när han editerar bananer så ändra man bara mängden på dom.
förstår inte problemet egentligen, vilket kanske märks =) ..fast det är ju inte så enkelt utan nån kod :)
------------------
-------------------
Andreas Lännerberg
Jag hör till dom som betalar mina räkningar med glädje, men dom vill hellre ha betalt i pengar.
Hej!
Response.Cokies("Varukorg")("banan") = 1
Under förutsättning att kakan heter varukorg, och "posten" banan i kakan heter banan.
obs! kakor stavas med 2 o :)
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
I mitt fall heter posten "produkt". Jag kan ju inte ha en unik post för varje produkt... då blir det ju ett himla krångel att anropa dom i kundvagnen...
Response.Cokies("varukorg")("banan") = 1
Om jag använder detta... Hur ska kundvagnen då veta att den ska anropa just den posten? Det finns ju andra produkter än bananer... :)
[Redigerat av nachip den 30 sep 2001]
Det är det som är problelmet med cookies, antag följande att du har köpt två bananer och två äpplen:
Response.Cokies("varukorg")("banan") = 2
Response.Cokies("varukorg")("applen") = 2
om du sen vill ta bort en banan så måste du skriva om hela cookien för det går inte att ta bort bara en del av cookien :( tråkigt men sant
------------------
Korvfarbror--Med ring på fingret
okej varför skriver ni Cokies?? Ni kan ju lura nya användare?? det heter ju cookies?
Försök att skriva response.Cookies
------------------
essentitia preter non sans multiplicandum
Mozilla, för detta forumet gillar inte när vissa skriver kaka på riktigt sätt.
mvh Jörgen :(
------------------
Varför bråka när man kan kramas?
Det vore bättre om beställningar lagrades i en databas så att man från vilken dator som helst skulle kunna logga in och se sina beställningar och ändra dom mm.
Då krävs det väl att användaren/kunden reg. sig först innan de börjar att handla eller?
Vad man än gör så borde ju all data lagars i en db i slutet. :)
------------------
Forumledare, webForum
Jo.. precis som Hallgren säger så ska självklart själva beställningen lagras i en databas, men inte förrän beställningen är slutförd. Medans man handlar så lagras "kundvagnen" i en cookie var det tänkt...
Det är ingen vidare bra idé. Det finns begränsningar på hur mycket kakor en webbläsare får/vill spara på hårddisken.
------------------
And remember, when you look into the pit, the pit looks back into you. /Anonymous INTERCAL hacker
Men, om man endast sparar ProduktID och antal så blir det en jäkla massa produkter man kan spara i en cookie.
Ska kika efter lite kod för att hantera kundvagnen.
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*
Mmm, tycker det här börjar bli konstigt. När man går igenom lite inlägg angående just sånt här så får man en känsla av att många är för cookies och session men nu verkar det rent av suga. :l
Om ni själva skulle bygga en kundvagn, hur skulle ni då göra?
------------------
Forumledare, webForum
Ja, själv skulle jag ju inte spara kundvagnen i Sessions men väl i .Cookies
"Lite" exempel kod:
'## -- Function GetBasket(): returns the basket as a 2-dimensional array
'## if any products are found in basket. else it returns an empty string
'## -- varArray(0,N) = ProdID of a product --
'## -- varArray(1,N) = Items (Total ordered items of a sample product
'--------------------------------------------------------------------------
Function GetBasket()
Dim varBasket
Dim varBasketArray()
Dim intKeys, intCounter, N
Dim Key
'## -- get all items in basket --
Set varBasket = Request.Cookies("Shop")
'## -- check if basket contain any products --
If varBasket.HasKeys Then
intKeys = varBasket.Count - 1
ReDim varBasketArray(1,intKeys)
intCounter = 0
For Each Key IN varBasket
'## -- save values into an array --
varBasketArray(0,intCounter) = Key '## -- save prodid in first pos.
varBasketArray(1,intCounter) = Request.Cookies("Shop")(Key) '## -- total item of the product --
intCounter = intCounter + 1
Next
'## -- return basket array --
GetBasket = varBasketArray
Else
GetBasket = ""
End If
End Function
'## -- add new product to basket --
Sub AddToBasket(ByVal ProdID, ByVal Items)
Dim varBasket, varItems
Dim Key
Dim blnFound
'## -- set default value to not found in basket (cookie) --
blnFound = False
'## -- try to get cookie of selected product --
Set varBasket = Request.Cookies("Shop")
'## -- check if cookie has keys --
If varBasket.HasKeys Then
'## -- cookie has keys (products in basket). check for prodid key --
For Each Key IN varBasket
If Key = "" & ProdID & "" Then
blnFound = True
'## -- prodid found in shopbasket (cookie). get items. --
varItems = Request.Cookies("Shop")(Key)
'## -- check if the key is empty. if empty set value to 0 (no products in key)--
If Len(varItems) = 0 Then varItems = 0
'## -- add more items to prodid --
varItems = varItems + Items
'## -- save new value to basket (cookie) --
Response.Cookies("Shop")("" & ProdID & "") = varItems
End If
Next
'## -- check if prodid was found --
If blnFound = False Then
'## -- prodid not found in basket (cookie). add prodid and items to basket (cookie) --
Response.Cookies("Shop")("" & ProdID & "") = Items
End If
Else
'## -- create basket (cookie) and save prodid to basket --
Response.Cookies("Shop")("" & ProdID & "") = Items
End If
'## -- set expire date for cookie --
Response.Cookies("Shop").Expires = DateAdd("d",365,Now())
End Sub
'## -- remove a product from basket (removes one item of a product) --
Sub RemoveFromBasket(ByVal ProdID)
Dim varItem
varItem = Request.Cookies("Shop")("" & ProdID & "")
'## -- subtract
varItem = varItem - 1
'## -- check if varItem is bigger than 0 --
If varItem > 0 Then
'## -- items left in basket --
Response.Cookies("Shop")("" & ProdID & "") = varItem
Else
'## -- set to 0
Response.Cookies("Shop")("" & ProdID & "") = ""
End If
End Sub
Ingen felhantering är inbyggd, ej heller det totala priset m.m men väl en grund att utgå ifrån.
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*