Avatar billede blaatand Nybegynder
01. februar 2003 - 22:46 Der er 12 kommentarer og
1 løsning

Poll baseret pr. IP!

Søger et poll system hvor man kan stemme for hver ip adresse. No cookies, de er en pain :)

Pollen skal være til at tilføje en ny poll i ret let online, evt med modifikationer.

Giver 100 points for et komplet script der er godt nok til mig.
Avatar billede _darkstar_ Nybegynder
01. februar 2003 - 22:48 #1
Du vil i praksis udelukke masser af mennesker fra at stemme. Tænk på alle de steder hvor de benytter proxies eller firewalls.

Det er en rigtig dårlig idé.
Avatar billede blaatand Nybegynder
01. februar 2003 - 22:49 #2
Ja, det er det jeg vil!
Avatar billede _darkstar_ Nybegynder
01. februar 2003 - 22:53 #3
Jamen så held og lykke.
Avatar billede erikjacobsen Ekspert
01. februar 2003 - 22:56 #4
Og brugere med ringe-op-modem, kan ikke stemme, hvis ham der havde
IP-en lige før har stemt. Eller også kan de stemme 2 gange, hvis
de bare ringer op igen.

Enkelte steder har man også IP-puljer, hvor hver ny forespørgsel
typisk giver et ny IP-nummer. De kan bare stemme løs. Jeg har set
det i udlandet - endnu ikke herhjemme.

Men der er faktisk nogen der benytter sig af præcis dette, og det er
jo så i orden, hvis man kender begrænsningerne.
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:16 #5
hvordan er dit poll-system bygget op?? det er højest sandsynligt bygget op om en DB... Er det så ikke bare at lave en ny tabel med de Ip'er der har stemt og checke med den før at brugeren ser selve poll'en?
Avatar billede blaatand Nybegynder
01. februar 2003 - 23:18 #6
jo, er det "sådan set bare"...

Den jeg kører nu bruger cookies, men den er virkelig en pain in the butt..
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:22 #7
<%
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("poll.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Set ConRS = Server.CreateObject("ADODB.RecordSet")
while NOT ConRS.EOF
if Servervariables("REMOTE_ADDR") = ConRS("IP") then
vote = false
end if
wend

if vote then
'INDSÆT DIN VOTE-FÆTTER HER
else
Response.write "DU HAR STEMT"

%>
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:23 #8
argghhh... glemte lige "end if"
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:25 #9
glemt hvad jeg lige skrev... det skulle have været:
<%
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("poll.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Set Record =  Con.Execute(SELECT * FROM tblIP)
while NOT Record.EOF
if Servervariables("REMOTE_ADDR") = Record("IP") then
vote = false
end if
wend

if vote then
'INDSÆT DIN VOTE-FÆTTER HER
else
Response.write "DU HAR STEMT"

%>
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:26 #10
og igen glemt jeg "end if"
Avatar billede blaatand Nybegynder
01. februar 2003 - 23:28 #11
Bare du kan finde ud af det, hehe.
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:42 #12
og efter brugeren har stemt:
<%
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("poll.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Con.Execute(INSERT INTO tblIP (IP) values (" & Servervariables("REMOTE_ADDR") & ")"
%>
Avatar billede tiger_webdesign Nybegynder
01. februar 2003 - 23:45 #13
damn... jeg må være træt...

Istedet for "Servervariables("REMOTE_ADDR")" skulle der selvfølgelig stå "Request.ServerVariables ("REMOTE_ADDR")"
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