Foros del Web » Programando para Internet » PHP »

PHP y cookies

Estas en el tema de PHP y cookies en el foro de PHP en Foros del Web. Hola necesito ayuda con el siguiente código: Explico como funciona, tiene un formulario dónde se selecciona la puntación del relato y le das a Enviar ...
  #1 (permalink)  
Antiguo 19/08/2005, 13:45
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Mensajes: 35
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación PHP y cookies

Hola necesito ayuda con el siguiente código:

Explico como funciona, tiene un formulario dónde se selecciona la puntación del relato y le das a Enviar y entonces entra en acción el archivo votacion.php; cuyo objetivo que pretendo es que solo deje al user 1 vez votar mediante cookies o si sabes una forma mejor... acepto ideas.

Os adjunto el código que hace que el voto se ingrese a la base de datos.
Código HTML:
<HTML>
<HEAD>
</HEAD>

<BODY>
<?INCLUDE ("config.php");?>
<?php
$voto= $calificar;
$result4=mysql_query("select * from relatos where id='$id' ");
mysql_query("UPDATE relatos SET puntos=puntos+'$voto' where id=$id");
while($row = mysql_fetch_array($result4)) 

{
$id=        $row["id"];
$title=    $row["title"];
$contenid=     $row["relato"];
$visto = $row["visto"];
$votos = $row["puntitos"];
?>

<!--MUESTRA CONTENIDO en una tabla--!>

<!-----------!>
   <BR>
<?php
   } 
   mysql_free_result($result4); 

?>
 </BODY>
</HTML> 
Gracias de antemano,
  #2 (permalink)  
Antiguo 19/08/2005, 13:50
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
La única opción viable q veo si queires encarecidamente q la gente no repita votos es guardar en la bd los votos q ha hecho cada user...creando una nueva tabla q contenga los campos id_user, id_relato, puntuacion

pq si lo haces por cookies....

priemro q vas a ahcer una cookie por cada relato q voten? luego si borran las cokies ya no te sirve de nada...

pues nada ahí queda la idea...

Salu2.
  #3 (permalink)  
Antiguo 19/08/2005, 14:31
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Mensajes: 35
Antigüedad: 14 años, 6 meses
Puntos: 0
No hay registro de usuarios, así que eso de la bd, respecto a dicha idea no me sirve, de todos modos, gracias.

Alguién me lo hace??

Última edición por glen-rotter; 19/08/2005 a las 14:37
  #4 (permalink)  
Antiguo 19/08/2005, 15:00
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
entonces como mucho puedes registrar las IP...en la base de datos...

si quirres hacerlo pro cookie tu mismo pero si boran al cookie no te sirve.

Salu2.
  #5 (permalink)  
Antiguo 19/08/2005, 15:11
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Mensajes: 35
Antigüedad: 14 años, 6 meses
Puntos: 0
bueno, que alguien me ayude ya sea por ip o por cookie pero que me diga como sería el código y eso...

Si fuera por Ip pues sería alamecenar dicha ip durante 24 horas y borrado automatico
  #6 (permalink)  
Antiguo 20/08/2005, 04:09
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
No sería de borrado automático (tengo entendido que eso de realizar x accion en x tiempo no es posible si nadie esta ejecutando el script) si no que, primero al votar metes la ip del que voto y la hora, después si la misma ip vuelve a votar revisas si hay una diferencia mayor a 24 horas entre el ultimo voto y este que quiere hacer y si es asi pues metes su voto en la base de datos y actualizas la hora y si no pues mandas un mensaje de error.

__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #7 (permalink)  
Antiguo 23/08/2005, 14:57
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Mensajes: 35
Antigüedad: 14 años, 6 meses
Puntos: 0
H e l p!!! Pienso que debe ser por cookie ya que, por ip debes hay que tener en cuenta que hay varios ISP que usan proxy
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 17:08.