$Marcos 0 Denunciar post Postado Outubro 24, 2004 Caros Amigos, Criei eu sistema de enquete para que o usuário possa votar só uma vez com aquele IP, no meu pc o sistema funciona 100% (" Estou usando o IIS6 "), consigo votar só uma vez com o mesmo IP, mas quando vou testar no meu servidor de hospedagem (" Apache ") o comando "select" não funciona.... posso votar varias vezes com o mesmo ip.... pq será??? Verifica se o IP do usuário existe na tabela <?phpconnect();$select = mysql_query("SELECT ip FROM votos WHERE ip='".$HTTP_ENV_VARS['REMOTE_ADDR']."'") or die ("Erro no select: " . mysql_error());if(mysql_num_rows($select) >= 1){?> Grava IP do usuário no banco de dados <?php}else{connect();$ip = getenv("REMOTE_ADDR");$timenow = date("d/m/y", time());$insert = mysql_query("INSERT INTO votos (ip, enquete, hora) VALUES ('$ip', '".$_POST["id_enquete"]."', '$timenow')") or die ("Erro no update: " . mysql_error());?> Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Outubro 24, 2004 Seru servidor web suporta mysql?você criou as tabelas no banco de dados no servidor? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Outubro 25, 2004 o problema deve estar nas sintaxes.veja 3 sintaxes diferentes para obter o número IP:$HTTP_ENV_VARS['REMOTE_ADDR']getenv("REMOTE_ADDR");$REMOTE_ADDR;elas vão funcionar de acordo com o servidor web, sistema operacional, versão e copfiguração do PHP.para não ter problemas você pode usar assim: // IP $ip = ""; $erro = 0; if(!isset($REMOTE_ADDR) || trim($REMOTE_ADDR)==""){ $erro = 1; }else{ $ip = $REMOTE_ADDR; } if($erro==1){ if(trim(getenv("REMOTE_ADDR"))==""){ $erro = 2; }else{ $ip = getenv("REMOTE_ADDR"); } } if(trim($ip)==""){$ip = "0";}echo $ip;no seu script você está gravando o ip usando:getenv("REMOTE_ADDR");mas no script que verifica se o ip do usuário existe você está usando:$HTTP_ENV_VARS['REMOTE_ADDR']faça um teste para ver qual dos dois funciona:<?echo "HTTP_ENV_VARS: ".$HTTP_ENV_VARS['REMOTE_ADDR'];echo "";echo "getenv: ".getenv("REMOTE_ADDR");?> Compartilhar este post Link para o post Compartilhar em outros sites
$Marcos 0 Denunciar post Postado Outubro 25, 2004 Sim, o meu servidor web suporta mysql e as tabelas estão OK! Compartilhar este post Link para o post Compartilhar em outros sites
$Marcos 0 Denunciar post Postado Outubro 25, 2004 Valeu amigão,eu tinha que colocar o ".getenv("REMOTE_ADDR"); no lugar do ".$HTTP_ENV_VARS['REMOTE_ADDR'];Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
josemsn 0 Denunciar post Postado Outubro 25, 2004 Sempre que tiver problemas desse tipo, faz:$sql = "SELECT ...";$query = mysql_query($sql);e dá um print $sql, melhor debugador que tem! Compartilhar este post Link para o post Compartilhar em outros sites