22. august 2002 - 00:12
Der er
2 kommentarer og
1 løsning
Sammenlig i Array
Jeg lægger vare i en indkøbskurv på denne måde:
---------------------------------
If IsArray(Session("kurv")) = false Then
pointshopKurv(1,0)=productid
pointshopKurv(1,1)=Antal
Session("kurv") = pointshopKurv
else
pointshopKurv=session("kurv")
er_i_kurven=false
for i=lbound(pointshopKurv) to ubound(pointshopKurv)
if pointshopKurv(i,0)="" and pointshopKurv(i,1)="" and not(er_i_kurven) then
pointshopKurv(i,0)=productid
pointshopKurv(i,1)=Antal
er_i_kurven=true
end if
next
session("kurv")=pointshopKurv
end if
--------------------------------
Men hvordan sikre jeg mig at den samme vare ikke optræder 2 forskellige steder i indkøbskurven, hvis nu en bruger køber den samme vare igen? Jeg har forsøgt lidt med dette,
----------------------------------
w=0
While w <= 25
pointshopKurv=session("kurv")
if productid = pointshopKurv(w,0) then
e=w
pointshopKurv=session("kurv")
er_i_kurven=false
for i=lbound(pointshopKurv) to ubound(pointshopKurv)
if pointshopKurv(i,0)="" and pointshopKurv(i,1)="" and not(er_i_kurven) then
pointshopKurv(i,0)=productid
pointshopKurv(i,1)=Antal+"Det nye Antal"
er_i_kurven=true
end if
next
session("kurv")=pointshopKurv
pointshopKurv=session("kurv")
pointshopKurv(e,0)=""
pointshopKurv(e,1)=""
session("kurv")=pointshopKurv
end if
w=w+1
Wend
----------------------------------
Altså først lave en ny vare og så slette den gamle, men det virker sgu ikke. Er der andre måder eller er der en der kan se fejlen?
22. august 2002 - 06:50
#2
Ikke fordi jeg ikke kan finde fejlen - men prøv lige nedenstående simple kurv. Kurven anvender cookies - men Sessions og Cookies er jo stort set det samme.
<%
strMode = Request.QueryString("mode")
strVareNr = Request.QueryString("varenr")
if strMode = "reset" then ' Nulstil kurven
' Nulstil kurv
for each Key in Request.Cookies("Kurv")
Response.Cookies("Kurv")(Key) = "0"
next
end if
if strMode = "insert" then ' indsæt 1 stk i kurven
' Indsæt vare i kurv
Found = False
for each Key in Request.Cookies("Kurv")
if Key = strVareNr then
Response.Cookies("Kurv")(Key) = CStr(CInt(Request.Cookies("Kurv")(Key)) + 1) ' Antal = Antal + 1
Found = True
exit for
end if
next
if not Found then
Response.Cookies("Kurv")(strVareNr) = "1"
end if
end if
if strMode = "delete" then ' Slet en vare fra kurven
' Slet vare fra kurv
for each Key in Request.Cookies("Kurv")
if Key = strVareNr then
Response.Cookies("Kurv")(Key) = "0"
exit for
end if
next
end if
' Vis vareliste
Response.Write("<center>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td align='center'><b>VARELISTE</b></td></tr>")
Response.Write("</table>")
Response.Write("<br>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td width='10%'>Varenr</td><td width='70%'>Varetekst</td><td width='20%'>Tilføj 1 stk.</tr>")
' Vis varer
Response.Write("<tr><td width='10%'>A12</td><td width='70%'>Vare A12</td><td width='20%'><a href='?mode=insert&varenr=A12'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A13</td><td width='70%'>Vare A13</td><td width='20%'><a href='?mode=insert&varenr=A13'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A14</td><td width='70%'>Vare A14</td><td width='20%'><a href='?mode=insert&varenr=A14'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A15</td><td width='70%'>Vare A15</td><td width='20%'><a href='?mode=insert&varenr=A15'>Tilføj</a></tr>")
Response.Write("</table>")
Response.Write("</center>")
Response.Write("<br>")
' Vis kurv
Response.Write("<center>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td align='center'><b>KURV</b></td></tr>")
Response.Write("</table>")
Response.Write("<br>")
' Vis indhold kurv
Response.Write("<table width='50%'>")
Response.Write("<tr><td width='10%'>Varenr</td><td width='70%'>Cookie</td><td width='10%' align='right'>Antal</td><td width='10%'>Fjern</td></tr>")
for each key in Request.Cookies("Kurv")
if (Request.Cookies("Kurv")(Key) <> "0") then
Response.Write("<tr><td width='10%'>" & Key & "</td><td width='70%'>(Kurv)(" & Key & ")=" & Request.Cookies("Kurv")(Key) & "</td><td width='10%' align='right'>" & Request.Cookies("Kurv")(Key) & "</td><td width='10%'><a href='?mode=delete&varenr=" & Key & "'>Fjern</a></td></tr>")
end if
next
Response.Write("</table>")
Response.Write("</center>")
Response.Write("<br>")
Response.Write("<a href='?mode=reset'>Nulstil kurv</a>")
%>