22. august 2002 - 08:13Der er
12 kommentarer og 1 løsning
Ny cookie?
Hey
Jeg har en afstemning på min side. Når man stemmer bliver der oprettet en cookie. På siden bliver der tjekket om cookien findes på brugerens com., hvis den gør så includer den resultaterne, hvis ikke så includer den stemmeboksen. Det virker også fint, men når jeg laver en ny afstemning bliver den gamle overskrevet (den ligger i en database). Og så er det som om at brugeren har stemt på den nye afstemning. Hvordan "nulstiller" jeg cookien når jeg opretter en ny afstemning. Eller er der andet jeg kan gøre for at forhindre dette?
Jeg ved godt hvordan jeg laver en cookie, det udgår da også fra mit spm. Det jeg har skrevet HAR jeg lavet, det er disse spm. jeg har brug for hjælp med:
Hvordan "nulstiller" jeg cookien når jeg opretter en ny afstemning. Eller er der andet jeg kan gøre for at forhindre dette?
En løsning ville være at gemme et afstemningsnummer i cookien. Når du henter din cookie fra brugeren så tjekker du om de to numre stemmer over ens - hvis ikke så skriver du det nye afstemningsnummer i cookien og en status for at brugeren ikke har stemt.
dvs noget a la:
strCurrentAfstemningsID = "27" ' vi har nu afsteming #27
If Response.Cookie("AfstemningsID")<> strCurrentAfstemningsID Then ' nulstil cokkie Response.Cookie("AfstemningsID") = strCurrentAfstemningsID Response.Cookie("HarStemt") = "Nej" End If
Når bruger submitter sin stemme så kører du følgende kodestump: Response.Cookie("AfstemningsID") = strCurrentAfstemningsID Response.Cookie("HarStemt") = "Ja"
nr = rs("besvarelser") if request.cookies("afstemning") = nr then response.write "STEMT" else response.write "IKKE STEMT" end if
...
NÅR MAN HAR STEMT BLIVER MAN SENDT TIL DENNE SIDE:
...
nr = rs("besvarelser") response.cookies("afstemning") = nr
...
Når jeg udskriver, nr , er det det rigtige nr, fx 2. Når man har stemt een gang bliver den stadigvæk ved med at sige "IKKE STEMT". Men hvis jeg ændrer: if request.cookies("afstemning") = nr then til: if request.cookies("afstemning") = "2" then Så skriver den "STEMT"!?
Det er nok en klassiker du er løbet ind i :=) Cookien bliver opbevaret som en "streng" men din databaseværdi er et "tal" dvs IF sætninger evalueres til IF "2"=2 Then ...
Løsningen er (det skal være HELT Idiot sikret ikke):
if CStr(request.cookies("afstemning")) = CStr(nr) then
/slamSuger
Synes godt om
Ny brugerNybegynder
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.