Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: wirelesswifi en 1 Noviembre 2010, 14:05 pm



Título: Duda - Puedo votar solo en una noticia
Publicado por: wirelesswifi en 1 Noviembre 2010, 14:05 pm
Buenas, ya tengo el sistema de votos por restriccion de IPs.

Pero solo pueden votar una noticia y las demas no.

El codigo que tengo es el siguente:

Código:
<? 
// include('con.php');

// cuantas el n° de ocurrencias de la IP del cliente ..
$sql="SELECT COUNT(*) WHERE ip='".$_SERVER['REMOTE_ADDR']."
'";
$result=mysql_query($sql) or die (mysql_error());
// Si es 0 .. no existe .. la insertas en tu BD y dejas votar ...
if (mysql_result($result,0) == 0){
$sql="INSERT INTO ips (ip) VALUES ('".$_SERVER['REMOTE_ADDR']."')";
mysql_query($sql);

$votos = "UPDATE noticias SET voto=voto+1 WHERE id=".$id;
mysql_query($votos);
  // Si no existe la IP .. suelta el mensaje de aprobacion y dejas votar.
 echo "Gracias.";
} else {
  // Si existe la IP .. suelta el mensaje de error y no dejas votar.
 echo "Ya ha realizado un voto.";
}
?>

Como puedo hacerlo tambien por id puedan votar las demas noticias.

Espero me ayuden

Saludos...


Título: Re: Duda - Puedo votar solo en una noticia
Publicado por: xassiz~ en 1 Noviembre 2010, 16:24 pm
Código
  1. include("con.php");
  2.  
  3. $queryIP = mysql_query("SELECT voto FROM ips WHERE id_noticia=".mysql_real_escape_string($_GET['id_noticia']));
  4.  
  5. $resultado = mysql_fetch_row($queryIP);
  6.  
  7. if($resultado==1) //Si voto es 1, es que esta votada
  8.    //Votada
  9. else
  10.    //No votada
  11.  
  12.  


Título: Re: Duda - Puedo votar solo en una noticia
Publicado por: wirelesswifi en 1 Noviembre 2010, 16:32 pm
Gracias pablomi, eso lo inserto en el php o tengo que reemplazar codigo en el php?

Saludos y gracias.


Título: Re: Duda - Puedo votar solo en una noticia
Publicado por: xassiz~ en 1 Noviembre 2010, 19:15 pm
Reemplázalo, y date cuénta de que tienes que tener una tabla llamada ips donde guardes en id_noticias el id de la noticia a votar y la columna voto que por defecto vale cero.