Foros del Web » Programando para Internet » PHP »

solo un voto por usuario (email)

Estas en el tema de solo un voto por usuario (email) en el foro de PHP en Foros del Web. hola, estoy haciendo un sistema de votos. en el que hay dos variables importantes: el id del usuario, y el id del objeto a votar. ...
  #1 (permalink)  
Antiguo 04/08/2011, 05:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
solo un voto por usuario (email)

hola, estoy haciendo un sistema de votos. en el que hay dos variables importantes:

el id del usuario, y el id del objeto a votar.

En un principio solo quiero q puedan votar SI o NO.

Pero lo que quiero impedir es que un mismo usuario pueda votar sobre el mismo objeto mas de una vez.

Se que hay formas de impedirlo restringiendo las cookies o/y la ip. Pero eso no me interesa, por ahora. Necesito algo mas basico:

Que codigo debo poner para que me avise cuando una id_usuario y una id_objeto determinadas ya han sido usadas "juntas", para impedir una nueva votacion??

Espero haberme explicado bien!
Gracias
  #2 (permalink)  
Antiguo 04/08/2011, 05:49
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: solo un voto por usuario (email)

Supongo que si no te quieres meter con cookies, tendrás que guardarlo en la base de datos.

Una tabla Votacion en la que metas el id_usuario y el id_objeto. Antes de contabilizar el voto, haces una consulta sobre esta tabla para ver si ya existe ese registro, en cuyo caso, no dejas votar. Y, si puede votar, almacenas el nuevo registro, para que no pueda votar más.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 04/08/2011, 06:14
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: solo un voto por usuario (email)

Cita:
Iniciado por vgonga1986 Ver Mensaje
Supongo que si no te quieres meter con cookies, tendrás que guardarlo en la base de datos.

Una tabla Votacion en la que metas el id_usuario y el id_objeto. Antes de contabilizar el voto, haces una consulta sobre esta tabla para ver si ya existe ese registro, en cuyo caso, no dejas votar. Y, si puede votar, almacenas el nuevo registro, para que no pueda votar más.

Un saludo.
te pongo en negrita lo que necesito:
eso mismo queria hacer, pero cómo debe ser esa consulta que verifica un registro compuesto especificamente por unos campos id_usuario y id_objeto determinados? es decir, si tuviera que hacer una consulta sobre la existencia de uno solo de los campos sabria hacerlo. Pero hacer una consulta sobre los 2 campos ya no se como debo hacerlo.

Que consulta debo poner que diga: dime si este id_usuario ya ha votado a este id_objeto?

Gracias!
  #4 (permalink)  
Antiguo 04/08/2011, 06:20
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: solo un voto por usuario (email)

Suponiendo que tienes el id_usuario y el id_objeto que quieres buscar en sendas variables $id_usuario e $id_objeto:
Código PHP:
Ver original
  1. $result = mysql_query=("SELECT * FROM Tabla WHERE id_usuario=$id_usuario AND id_objeto=$id_objeto", $linkDB);
  2. if (mysql_num_rows($result) != 0) {
  3.    // Existe el registro
  4. } else {
  5.    // No existe el registro
  6. }

Eso?

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 04/08/2011, 07:07
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: solo un voto por usuario (email)

OH!

entonces es AND!! antes lo probaba con & pero no me salía,
pues enseguida lo pruebo. Muchas gracias!!
EDITO: Genial, me funciona!

Última edición por Swivel; 04/08/2011 a las 07:09 Razón: resultado
  #6 (permalink)  
Antiguo 04/08/2011, 07:10
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: solo un voto por usuario (email)

Un aporte para tu conocimiento:

condición1 AND condición2 // quiere decir que solo devolvera los resultados donde las dos condiciones sean cumplidas

condición1 OR condición2 // quiere decir que trae los registros donde se cumplan cualquiera de las dos condiciones
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: votacion, votos, usuarios
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:17.