Foros del Web » Programando para Internet » PHP »

Necesito 1 solo update por usuario

Estas en el tema de Necesito 1 solo update por usuario en el foro de PHP en Foros del Web. No soy programador pero me estoy aventurando con un sistema de referidos que funciona de la siguiente manera: El invitado ingresa a una zona privada ...
  #1 (permalink)  
Antiguo 28/11/2007, 06:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 78
Antigüedad: 16 años, 5 meses
Puntos: 1
Necesito 1 solo update por usuario

No soy programador pero me estoy aventurando con un sistema de referidos que funciona de la siguiente manera: El invitado ingresa a una zona privada con el codigo del usuario que lo invitó. Ya en la zona privada, al hacer clic en el botón "ingresar como usuario" se actualiza la BD desde el archivo actualizar.php. El ingreso del nuevo usuario implica que el usuario que lo invitó sume 1 punto mediante el siguiente update:

mysql_query("update usuarios set puntos = puntos + 1 where codigo = " . $elkeinvita) or die(mysql_error());

El problema es que si el nuevo usuario vuelve a la pagina anterior y repite el proceso, se vuelve a actualizar el puntaje del usuario que lo invitó. ¿Como puedo evitar que un visitante sume mas de 1 punto a quien lo invita?. Gracias.
  #2 (permalink)  
Antiguo 28/11/2007, 07:21
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Necesito 1 solo update por usuario

Hola, la solución está en que añadas una cookie de comprobación a ese usuario, además de la IP, siempre y cuando sea un usuario anónimo.

SALUDOS
Ruymán Trujillo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #3 (permalink)  
Antiguo 28/11/2007, 07:23
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Necesito 1 solo update por usuario

Antes de ingresar el usuario, comprueba a ver si está ya en la base. Si no está le añades en la BD y sumas uno a su invitador, si ya está en la base no haces nada. De esta manera, como la segunda vez que entra ya está en la base, no se hace nada (no se ingresa ni se suma...)
__________________
Kelpie
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 02:59.