Avatar billede pitzen Nybegynder
25. september 2006 - 19:08 Der er 13 kommentarer og
1 løsning

Kun stemme én gang - Cookie eller hva?

Hey!

Jeg har et rating system på min side.

Her ses kildekoden til dette script: http://humorfreak.dk/rating.txt

Ulempen ved dette script er, at man kan stemme så mange gange man ønsker!

Hvordan kan man sikre at den besøgende kun kan stemme én gang? Ved en cookie?

Jeg har ikke brugersystem.

Pf. tak!

Mvh. Morten...
Avatar billede Slettet bruger
25. september 2006 - 19:15 #1
Det eneste der vil være helt sikkert er at registrere IP'en, men så vil flere personer på samme netværk kun kunne stemme én gang tilsammen.

Cookies forhindrer jo ikke folk i at slette cookien, så der kan ikke sikres noget 100 %.
Avatar billede pitzen Nybegynder
25. september 2006 - 19:24 #2
Man skal kunne stemme på flere forskellige sider.. Altså forskellige ID's..

Det vil ikke gøre noget at folk kan stemme efter at have slette cookies!

Det er bare for at besværliggøre spam, jeg vil logge stemmerne..
Avatar billede Slettet bruger
25. september 2006 - 19:43 #3
Okay. Så kan du bare smide en cookie med ID'et, så kan du se om de har stemt.

www.php.net/setcookie
Avatar billede pitzen Nybegynder
25. september 2006 - 21:49 #4
Skal jeg lave en cookie for hver ID? eller kan man tilføje id's til en cookie?
Avatar billede Slettet bruger
25. september 2006 - 21:58 #5
Du kan godt lave det i én cookie, men det vil være besværligt - Bare smid det i en cookie hver.
Avatar billede pitzen Nybegynder
25. september 2006 - 22:38 #6
Jeg har stadig lidt problemer..

Jeg laver cookie'en sådan:

setcookie("humorfreak$_GET[id]", "$_GET[id]", time()+60*60*24*30, "/");

Er der et trick til at se om cookie'en er oprettet? Jeg kan nemlig ikke finde den på min computer...

Kan det passe at jeg får cookie'en indhold ved:

$_COOKIE['humorfreak$_GET[id]]?
Avatar billede Slettet bruger
25. september 2006 - 22:47 #7
setcookie("humorfreak". $_GET['id'], "$_GET[id]", time()+60*60*24*30, "/");

og så kan du tjekke om den er sat vha:

if(!empty("humorfreak". $_GET['id'])) {
  echo "Der er stemt";
}
Avatar billede pitzen Nybegynder
25. september 2006 - 22:51 #8
Så er jeg ved at være der :D

print $_COOKIE['humorfreak . $_GET['id']'];

^^ Dog kan jeg ikke lige kringle den! Jeg ved ovenstående er forkert..

Kan du hjælpe endnu en gang?
Avatar billede Slettet bruger
26. september 2006 - 07:34 #9
print $_COOKIE['humorfreak' . $_GET['id']];

Sådan der. - Variablen skal placeres udenom 'foo bar' :)
Avatar billede pitzen Nybegynder
26. september 2006 - 11:56 #10
Smukt, så virker det! smid et svar!

Tak for hjælpen
Avatar billede Slettet bruger
26. september 2006 - 14:24 #11
Velbekomme. Det glæder mig, at det virker :)
Avatar billede pitzen Nybegynder
26. september 2006 - 15:41 #12
Hva med svaret? ;)
Avatar billede Slettet bruger
26. september 2006 - 19:55 #13
Hov.. Det glemte jeg vist i farten. ;o)
Avatar billede Slettet bruger
26. september 2006 - 22:12 #14
Jeg havde ikke set du udlovede så mange points.

Læg venligst et svar her, så du kan få nogle af dine points tilbage:

http://www.eksperten.dk/spm/734874
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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