Ir para conteúdo

POWERED BY:

Arquivado

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

Akira

Enquete

Recommended Posts

Olá pessoal eu sou meio leigo no php + estou tentando aprender estou com um pequeno problema no sistema de enquete, estou precisando bloquear por cookie so que nao esta funcionando sera que poderia olhar o codigo e ver onde estou errando?

 

 

votar_enquete.php

<?php 	include("conexao/conexao.php");		global $registro;	global $pontos;		$registro = $_REQUEST["reg"];		global $voto;		$voto = $_REQUEST["esc"];		$sql = mysql_query("select * from enquete_resultado where id_enquete='$registro' and id_escolha='$voto'");		while ($s = mysql_fetch_array($sql)){				$id = $s["id"];		$pontos = $s["pontos"];			}		$pontos = $pontos + 1;		$sql2 = "update enquete_resultado set pontos='$pontos' where id like '$id'";		$resultado = mysql_query($sql2) or die (mysql_error());			$hora = date(H); 	$minutos = date(i); 	$expires = (('23' - $hora) * '60' + ('59' - $minutos)) * '60'; 	$verifica = $_COOKIE[enquete]; 	if ($verifica == 'sim') { 	header ("Location: index.php?enquete=$idenquete&votou=sim"); 	} else { 	setcookie("enquete", "sim", time()+$expires);  	$sql3 = mysql_query("UPDATE enquete_resultado SET pontos='$pontos' WHERE idvotos = '$idvoto'"); 	header ("Location: index.php?enquete=$idenquete&votou=nao");		} ?>
Aguardo retorno e desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Akira, antes de te ajudar....Se você fizer por cookies, o seu sistema de enquete ficará vulnerável, pois: posso estar com os cookies desabilitados ou limpá-los. O ideal é gravar no BD os IPs dos votantes.

Ola como poderia ser feito? poderia me ajudar?desde ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é simples. você vai criar uma tabela com os campos, data e ip.quando o usuário votar, você terá que gravar no banco esses dados. como usando a função date.$data = date("d/m/Y"); e pegando o ip do usuário com a função.me du branco agora em relação a pegar ip acho que é $_REMOTE("ADDR");algo desse tipo. bem essa função tem de monte no imaster.quando você enviar pro banco as informações do voto da enquete leve tb pra tabela de acessos por exemplos as informações data e ipdepois é so fazer um select e verificar se o ip e a data são iguaisse forem você bloqueia o voto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal mas..... imagina... a pessoa q vai votar está numa lan-house, escola, trabalho ou em qualquer rede q a internet é compartilhada, ou seja usa apenas um IP via roteador por exemplo.Dai o codigo ai bloqueia o IP, dai ninguem mais da escola, trabalho, lan-house e etc nao consegue votar isto vai ser muitoooo ruim ne nao???Falow..

é simples. você vai criar uma tabela com os campos, data e ip.quando o usuário votar, você terá que gravar no banco esses dados. como usando a função date.$data = date("d/m/Y"); e pegando o ip do usuário com a função.me du branco agora em relação a pegar ip acho que é $_REMOTE("ADDR");algo desse tipo. bem essa função tem de monte no imaster.quando você enviar pro banco as informações do voto da enquete leve tb pra tabela de acessos por exemplos as informações data e ipdepois é so fazer um select e verificar se o ip e a data são iguaisse forem você bloqueia o voto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem se tiver alguma alternativa pra resolver isso. serei grato:Dpq é a forma que faço. e tb não vejo como separar um ip de uma rede privada. ele pega o ip que sai se o ip que sai for igual a todos não tem como diferenciar. seria bloqueado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é.. o melhor nao seria criar um codigo verificador de imagem igual tem no site da OI pra mandar msg, igual tem aki mesmo no forum na hora de cadastrar igual tem pra votar no site do BBB?Assim todos podem votar até mesmo na mesma maquina. se um engraçadinho quiser votar mais de 1 vez ele vai ter q ficar digitando akeles codigos e isto vai acabar estressando ele fazendo com q desiste logo.Oq acha?

bem se tiver alguma alternativa pra resolver isso. serei grato:Dpq é a forma que faço. e tb não vejo como separar um ip de uma rede privada. ele pega o ip que sai se o ip que sai for igual a todos não tem como diferenciar. seria bloqueado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria otimo. ee teria so um problema para verificação. na criação da imagem que isso eu não sei fazer..a verificaçã do ip é pra impedir que a pessoa vote mais de 1 vez. é funcional. com a verificação da imagem a pessoa pode votar varias vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Er... se for assim é melhor fazer verificação via IP mesmo.Prefiro fazer via cookie. muita gente q usa meus sistemas nem sabem o q é cookie vai ser dificil eles quereem apagar para votar mais vezes.. :P

Alexsandro, a questão não é dificultar o voto e sim não deixar que seja votado mais de uma vez. Infelizmente não conheço forma de agradar gregos e troianos, ou seja, no caso de vários computadores conectados através de um gateway, só um poderá votar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais o cookie o navegador pode estar com problema e não ta lendo correamente mais tem outra alternativa tb. gravar em arquvio se nao quiser usar o bd usa arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim, usa o banco, mas não bloqueia.se tiver mais de, por exemplo, 5 votos por minutos, bloqueia=)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal obrigado a todos pela ajuda + aqui na minha cidade tem muita lan house e as pessoas compatinha o velox quase em todas as casas entao nesse caso e melhor o cookie mesmo.

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.