Avatar billede qaaq Nybegynder
23. august 2006 - 18:05 Der er 3 kommentarer og
1 løsning

hvorfor gemmes cookie ikke?

Hej

Jeg har fundet denne kode her på eksperten til at lave en indkøbskurv, den benytter sig af cookies, men når jeg næste gang åbner min browser er "kurven" tom.
Det passer mig helt fint, da kunden gerne skulle få en tom kurv næste gang han åbner en browser, men jeg underer mig ovor hvorfor??

<%

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>")

%>
Avatar billede softspot Forsker
23. august 2006 - 18:12 #1
Hvis du vil bevare en cookie i en længere (eller kortere) periode end til browseren lukkes, så skal du sættes Expires-egenskaben på din cookie.

For at slette en cookie kan du blot gøres således:
Response.Cookies("kurv").Expires = dateadd("d", -1, now)

For at bevare en cookie i en dag kan du gøres således:
Response.Cookies("kurv").Expires = dateadd("d", 1, now)
Avatar billede qaaq Nybegynder
23. august 2006 - 18:13 #2
aha.. så ved jeg også det.. tak.. smid et svar
Avatar billede softspot Forsker
23. august 2006 - 18:20 #3
Kommer der - velbekomme :)
Avatar billede softspot Forsker
23. august 2006 - 21:35 #4
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester