Avatar billede musicchart.dk Nybegynder
22. august 2002 - 08:13 Der 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?

/Bjarke - (KLEIFDESIGN)
Avatar billede medions Nybegynder
22. august 2002 - 08:15 #1
Du "bager" en cookie ved at skrive Response.Cookie("cookienavn")

//>Rune
Avatar billede musicchart.dk Nybegynder
22. august 2002 - 08:17 #2
<< medions , hvad har det med mit spm. at gøre?
Avatar billede hirayz Nybegynder
22. august 2002 - 08:17 #3
Response.Cookie("cookienavn") = ""

kig mere her...

http://www.w3schools.com/asp/asp_cookies.asp
Avatar billede hirayz Nybegynder
22. august 2002 - 08:18 #4
ups der skal lige huske 's' i cookies
Response.Cookies("cookienavn") = ""
Avatar billede musicchart.dk Nybegynder
22. august 2002 - 08:21 #5
Jamn, det er jo ikke det mit spm. går ud på...
Hvordan får jeg gjort så at når jeg laver en ny afstemning, kan man stemme på den.
Avatar billede musicchart.dk Nybegynder
22. august 2002 - 08:22 #6
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?
Avatar billede slamsuger Nybegynder
22. august 2002 - 13:45 #7
Hej der

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"
Avatar billede slamsuger Nybegynder
22. august 2002 - 13:48 #8
PS: Du kan også bruge ovenstående mekanisme til at tælle hvor mange gange en bruger har stemt ... lille sjovt detalje =)
Avatar billede hirayz Nybegynder
22. august 2002 - 14:07 #9
Det skal være Cookies ikke Cookie
Avatar billede medions Nybegynder
22. august 2002 - 14:25 #10
Ups, sorry ;o)

//>Rune
Avatar billede musicchart.dk Nybegynder
22. august 2002 - 20:48 #11
<< slamsluger, tjoo det må så være den eneste udvej.
Avatar billede musicchart.dk Nybegynder
22. august 2002 - 21:51 #12
ok, hvorfor virker dette ikke:

...

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"!?

Hvad er der galt!?
Avatar billede slamsuger Nybegynder
23. august 2002 - 10:34 #13
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
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