Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 22:47 Der er 16 kommentarer og
1 løsning

"coltau" er du online?

Hey
Jeg har lige et spg til det indkøbsscript du forslo mig den anden dag. Der hvor man sætter vare i kurven:
----------------------
if strMode = "insert" then
  ' 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
-----------------------
Det virker kun hvis varenumret består af ét bogstav og derefter tal. Fx A12 virker fint, men Ae12 virker ikke - hvorfor? Det vil sige den første tilføjes fint, men efterfølgende skifter antallet ikke til 2 hvis man køber varen igen
Avatar billede eagleeye Praktikant
14. august 2002 - 22:53 #1
Spørgsmål skal stilles til alle og ikke til en enkelt person!!!
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:02 #2
Okay men nu var det bare ham der hjalp mig, og han må jo vide det... Men alle skal da være velkommen.
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:05 #3
I kan da få hele scriptet her:
-------------------------
strMode = Request.QueryString("mode")
strVareNr = Request.QueryString("varenr")

if strMode = "reset" then
  ' Nulstil kurv
  for each Key in Request.Cookies("Kurv")
    Response.Cookies("Kurv")(Key) = "0"
  next
end if

if strMode = "insert" then
  ' 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 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>")
--------------------------
Det virker kun hvis varenumret består af ét bogstav og derefter tal. Fx A12 virker fint, men Ae12 virker ikke - hvorfor? Det vil sige den første tilføjes fint, men efterfølgende skifter antallet ikke til 2 hvis man køber varen igen
Avatar billede eagleeye Praktikant
14. august 2002 - 23:05 #4
Jeg har prøvet hans kode og det virker fint hvis jeg rette A12 til Ae12: det skal rettes to steder i linien:

Response.Write("<tr><td width='10%'>Ae12</td><td width='70%'>Vare A12</td><td width='20%'><a href='?mode=insert&varenr=Ae12'>Tilføj</a></tr>")
Avatar billede eagleeye Praktikant
14. august 2002 - 23:06 #5
eller faktsik 3 steder..:
Response.Write("<tr><td width='10%'>Ae12</td><td width='70%'>Vare Ae12</td><td width='20%'><a href='?mode=insert&varenr=Ae12'>Tilføj</a></tr>")
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:11 #6
Ja, det virker, men hvis du nu køber en vare mere skifter den så til 2? For det gør min ikke.
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:16 #7
Det betyder vel ikke noget hvad der står de første 2 steder, det er da kun det efter varenr= der tæller - er det ik?????
Avatar billede eagleeye Praktikant
14. august 2002 - 23:16 #8
Ja den tæller op til 2, får du en ny vare med samme VareNr ??
Avatar billede eagleeye Praktikant
14. august 2002 - 23:17 #9
Nej det gør det ikke, det er kun linket hvor det betyder noget, det andet er bare for synets skyld. :)
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:21 #10
Nope, jeg får ikke en ny vare med samme VareNr, der sker ikke en skid. Der står kun den givende vare én gang
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:24 #11
Okay skriver jeg nu Ae12 virker det ikke, men skriver jeg AE12, så virker det - hvorfor nu det?
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:26 #12
Altså, det virker bare jeg kun bruger STORE bogstaver og tal!??????
Avatar billede eagleeye Praktikant
14. august 2002 - 23:28 #13
Så er det nok pga store/små bogstaver ved cookies når de læses.
I en if sætning er "Ae12" ikke lig "AE12"..

Så prøv at rette så if sætningen laver det om til små bogstaver, fra dette:
if Key = strVareNr then

Til dette:
if LCase(Key) = LCase(strVareNr) then
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:31 #14
Okay, det virker - tnx.
Laver LCase det om til små bogstaver, for på min bliver de alle store?
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:34 #15
Jeg mangler også lige et svar, så du kan få dine points :-)
Avatar billede eagleeye Praktikant
14. august 2002 - 23:35 #16
Ja LCase til små bogstaver
UCase laver om til store bogstaver.

Ok prøvede også lige at lave både et Ae12 og et AE12 vareNr. Cookien er ikke case senativ så den er ligeglad om det er Ae12 eller AE12 man skriver, men if sætningen er som før skrevet case senativ. Så det er ikke lige meget om det er Ae12 eller AE12.

Det må være fordi Cookien gemmer det som store bogstaver selv om det er angivet med små.
Avatar billede kimlarsen1978 Nybegynder
14. august 2002 - 23:41 #17
Okay - tnx.
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