Foros del Web » Programando para Internet » PHP »

Registro de votacion PHP&MySQL

Estas en el tema de Registro de votacion PHP&MySQL en el foro de PHP en Foros del Web. Bien. Estoy haciendo un sistema que permite dar un voto al contenido de mi página web. Para evitar que un usuario vote más de una ...
  #1 (permalink)  
Antiguo 01/06/2008, 10:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 0
Registro de votacion PHP&MySQL

Bien. Estoy haciendo un sistema que permite dar un voto al contenido de mi página web. Para evitar que un usuario vote más de una vez en el contenido, he creado una tabla en la BD llamada "votos_v". Ahí se registra la ID del contenido y el nick del usuario. Y ahora tengo un problema, quiero hacer que si la ID y el Nick estan en la base de datos, no añada el voto y si no están, que lo añada.

He intentado algo así, pero está mal:

Código PHP:
<?
include('config.php');
$nick "SELECT nick FROM votos_v WHERE id='$n'";
if(
$nick == "$session_nick")
{
header("Location: ".$_SERVER[HTTP_REFERER]);
}else{
header("Location: ".$_SERVER[HTTP_REFERER]);
mysql_query("UPDATE videos SET votos=votos+1 where id='$n'");
}
?>
en $session_nick irá el nick del usuario que va a dar el voto

¿Alguien me ayuda?

Última edición por iHabieru; 01/06/2008 a las 10:52
  #2 (permalink)  
Antiguo 01/06/2008, 13:28
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Registro de votacion PHP&MySQL

Hola iHabieru y que sucede si el mismo usuario se registra nuevamente pero con otro nick? tienes controlado esto? tal vez filtrando por la IP del mismo? lo meditas. Por otro lado te recomiendo leas un manual de PHP ya que estas cometiendo errores en la ejecución de tus consultas, prueba así el código:
Código PHP:
<?php
include('config.php');
$consulta "SELECT nick, ID FROM votos_v WHERE id = '$n'";
$result mysql_query($consulta) or die( mysql_error() );
if(
mysql_num_rows($result) == 0){
$consulta1 "UPDATE videos SET votos = votos+1 where id = '$n'";
$rersult1 mysql_query($consulta1) or die( mysql_error() );
header("Location: ".$_SERVER['HTTP_REFERER']);
}else{
header("Location: ".$_SERVER['HTTP_REFERER']);}
?>
Saludos.
  #3 (permalink)  
Antiguo 01/06/2008, 13:42
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Registro de votacion PHP&MySQL

Muchísimas gracias, Carlojas. Ha funcionado a la perfección. La verdad es que me hago una de líos con las consultas a las bases de datos ... XD

Sobre lo del registro de usuarios, la verdad es que es un problema. Si hago un registro de IP, facilmente se puede cambiar, poca gente tiene aún IP estática. ¿Tal vez una activación por e-mail? Aunque tampoco es eficaz es un engorro tener que crearse otra cuenta de correo ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:04.