Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andre_rj

com enquete

Recommended Posts

galera to precisando de uma ajuda fiz uma enquete que esta num html a pessoa seleciona a opção e da votar quando clcia em votar ele chama o asp ate ai tudo bem tudo certo so que estou com um problema preciso saber como que faço para que a pessoa so vote uma vez pois o que está acontecendo é que a pessoa pode votar varias vezes

o codigo do asp está ae abaixo se alguem puder me ajudar

 

Abraços

 

<%if request("id")="" then%><li><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Você tem que votar ou querer ver o resultado!!<%elseset cn=server.createobject("adodb.connection")cn.provider="microsoft.jet.oledb.4.0"cn.connectionstring=server.mappath("db.mdb")cn.openset rs=cn.execute("select * from votos where id="&request("id")&" and idresp='"&request.form("voto")&"'")if request.form("ok") = "ok" thencn.execute("update votos set votos="&rs("votos")+1&" where id="&request.form("id")&" and idresp='"&request.form("voto")&"'")end ifset rs=nothingset rs=cn.execute("select * from votos where id="&request("id"))%><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Qual desses você acha o melhor bodyboarder ?</b><BR><br><%do while not rs.eofa=a+rs("votos")%><%rs.movenextlooprs.movefirst%><%do while not rs.eofc=rs("votos")*100/a%><table  cellspacing=1 cellpadding=0 width=265><td width=160><font size=1 face="Verdana, Arial, Helvetica, sans-serif"><strong><%=rs("resposta")%></td><td bgcolor=#000000 width=<%=c*2%> ></td><td><font size=1 face="Verdana, Arial, Helvetica, sans-serif"><strong><%=left(c,5)%>%</font></td></table><%rs.movenextloop%><br><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Total de votos: <%=a%><%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bem, aqui vamos nós, prefiro "barrar" o usuário pelo IP!Acho mais prático.Não vou dar rotinas prontas apenas dar umas instruções, acreditam que sejam de grande utilidade para qualquer outro tipo de aplicativo também.Não vi muito bem seu código mas posso dizer que:* Crie uma variável na página para armazenar o IP do visitante.* Crie um campo na Tabela do Banco de dados para armazenar o IP do visitante* Utilize adição ao invés de atualização dos dados.* Utilize a propriedade RS.BOF (Exemplo) para verificar se o IP do visitante já foi adicionado anteriormente. :rolleyes: Espero ter ajudado.Perdão se não fui muito claro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

por IP não vira!Por exemplo, a empresa X tem 10 micros em rede, a saída IP dos 10 micros vai ser uma só, se um votar os outros não votam..Uma solução seria enviar uma confirmação do voto por e-mailSe retornar verdadeiro registre o e-mail.Se o mesmo e-mail tentar votar novamente, então retorne falsooutra solução é gerar um número randômico toda vez que votarnos dois casos um único usuário pode votar mais de uma vez, mas pelo menos inibe múltiplos votos de uma só vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cuidado cara! Use cookie. Mas tome cuidado com o cookie também. Se você tentar gravar um cookie no IE do XP por exemplo, não vai gravar, porque por padrão ele não aceita. Então, quando você for verificar se o cara tem o tal COOKIE, o browser vai retornar que NAO tem e deixar votar de novo. A saída é:1. GRAVAR um COOKIE de teste2. SOLICITAR O COOKIE e, se tiver o valor que você definiu na etapa 1, é porque está aceitando.3. Se estiver aceitando, deixa votar, senão, não.Outra coisa. Se for um sistema de enquete, os cookies devem ser dinâmicos, senão o usuário vota na enquete 1 e na enquete 2 ele terá o cookie e ñ poderá votar em mais nenhuma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.