Ir para conteúdo

POWERED BY:

Arquivado

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

$Marcos

Comando "select" Não Tá Funcionando!

Recommended Posts

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

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

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

×

Informação importante

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