Vi um script de um sistema de votação e achei muito bom mas é feito com base em cookies onde o internauta vota 1 vez por dia, mas fácil de burlar pois a pessoa apaga os cookies e consegue votar de novo
Como sou leigo em ASP vou deixar o codigo aqui para vcs darem uma olhada e se possivel me ajudarem a dar uma travada neste problema
Este codigo abaixo é o arquivo votar.asp que gera o cookie e a conexão com o bd
CÓDIGO
<%
Option Explicit
if request.cookies("voto")<>"" then
response.redirect "resultado.asp?status=Invalido"
end if
'Criando variáveis
Dim localbd, meubd, votos, opcaoEscolhida, quant
'Gravando a opção escolhida em uma variável
opcaoEscolhida = session("voto")
'Indicando local do Banco de dados
localbd="Driver={Microsoft Access Driver (*.mdb)}; DBQ=bd\bd.mdb"
'Setando conexao
set meubd=server.createobject("adodb.connection")
set votos=server.createobject("adodb.RecordSet")
'Abrindo conexao
meubd.Open localbd
'Selecionando o registro da Opção escolhida
votos.Open "SELECT * from Votos where cod_voto="&opcaoEscolhida&"", meubd
'Guardar quantidade de votos em uma variável antes deste voto
quant = votos.fields("votos")
'Iremos executar agora o SQL que abrirá que atualizará os votos
meubd.EXECUTE "UPDATE votos SET votos = " & quant & "+1 where cod_voto="&opcaoEscolhida&""
'Para evitar que o usuário vote novamente, iremos criar um cookie
response.Cookies("Voto") = date
'Setando valor à session
session("voto")=""
'O voto já foi computado, agora irá para a página que exibirá o resultado
response.redirect "resultado.asp?questao= "& votos.fields("cod_questao") &""
%>
Option Explicit
if request.cookies("voto")<>"" then
response.redirect "resultado.asp?status=Invalido"
end if
'Criando variáveis
Dim localbd, meubd, votos, opcaoEscolhida, quant
'Gravando a opção escolhida em uma variável
opcaoEscolhida = session("voto")
'Indicando local do Banco de dados
localbd="Driver={Microsoft Access Driver (*.mdb)}; DBQ=bd\bd.mdb"
'Setando conexao
set meubd=server.createobject("adodb.connection")
set votos=server.createobject("adodb.RecordSet")
'Abrindo conexao
meubd.Open localbd
'Selecionando o registro da Opção escolhida
votos.Open "SELECT * from Votos where cod_voto="&opcaoEscolhida&"", meubd
'Guardar quantidade de votos em uma variável antes deste voto
quant = votos.fields("votos")
'Iremos executar agora o SQL que abrirá que atualizará os votos
meubd.EXECUTE "UPDATE votos SET votos = " & quant & "+1 where cod_voto="&opcaoEscolhida&""
'Para evitar que o usuário vote novamente, iremos criar um cookie
response.Cookies("Voto") = date
'Setando valor à session
session("voto")=""
'O voto já foi computado, agora irá para a página que exibirá o resultado
response.redirect "resultado.asp?questao= "& votos.fields("cod_questao") &""
%>
Valeu galera!
This post has been edited by xanburzum: 26 May 2010 - 04:30 PM
Reason for edit: Adicionado BBcode

Help














