Foros del Web » Programando para Internet » PHP »

PHP q solo se exiba una vez a cada 30 min

Estas en el tema de PHP q solo se exiba una vez a cada 30 min en el foro de PHP en Foros del Web. Tengo una pagina en PHP que es una votacion... y quisiera que, los usuarios solo pudieran votar 1 vez a cada 30 min... queria sebaer ...
  #1 (permalink)  
Antiguo 04/11/2004, 04:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 60
Antigüedad: 14 años
Puntos: 0
PHP q solo se exiba una vez a cada 30 min

Tengo una pagina en PHP que es una votacion... y quisiera que, los usuarios solo pudieran votar 1 vez a cada 30 min...

queria sebaer si existe algo para eso... es decir, algo que yo haga en la pagina PHP en que la gente vota para que, si esa persona ya ha acesado esa pagina en 30 min, no la exiba, sino diga "tu voto ya ha sido computado. espera 30 in para votar otra vez."

Gracias por la ayuda

Fred
  #2 (permalink)  
Antiguo 04/11/2004, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar cookies simplemente ..

Defines una cookie con tiempo de expiración de 30 minutos cuando vote (usando la función settcookie() )

Pero .. si tienes un registro de usuarios y son los usuarios registrados los que pueden votar .. sería lo ideal para mejorar la seguridad de tus votaciones. Si usas cookies sólo .. alguien que borre sus cookies o bien que ni las acepte podrá votar hasta que se aburra.

Podrías registrar también la IP del usuario por otro médio .. pero ahí si te usan conexiones con IP dinámica (lo normal) .. ya no serviría el sistema además que bloquearías a gente que pasa por un proxy común como empresas y algunos proveedores (ISP) que lo usan.

Un saludo,
  #3 (permalink)  
Antiguo 05/11/2004, 05:59
 
Fecha de Ingreso: diciembre-2003
Mensajes: 60
Antigüedad: 14 años
Puntos: 0
vale... lo de las cookies me valdria. No sé bie como hacerlo...

la votacion es abierta (y sencilla) en PHP. Un formulario con 4 opciones... al votar se escribe en un TXT #op1, #op2, #op3 o #op4... luego la pagina de destino cuenta los #op y calcula el resultado.

Lo que quiero es que, si esa persona ya ha entrado en la ultima media hora en la pagina PHP que tiene el formulario de votacion, no pueda verla, si no un mensaje.

Me ayudas?

Salu2 y gracias
  #4 (permalink)  
Antiguo 05/11/2004, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. revisastes ya en la documentación de PHP como crear una cookie?

www.php.net/settcookie

Sólo tienes que definirla en la parte de tu script que procesa tu votación .. eso sí .. antes validas si corresponde realizar la votación aplicando un IF() a la existencia de esa variable de cookie:

Código PHP:
if (isset($_COOKIE['voto'])){
 echo 
"No puede votar todavía";

} else {
// tu proceso de registro del voto y ..
// creas la cookie con tiempo de expiración de 30 minutos...

Un saludo,
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 14:49.