Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Verificar un tiempo si caduco o no

Estas en el tema de Verificar un tiempo si caduco o no en el foro de PHP en Foros del Web. Hola gente, tengo un sistema de recuperación de contraseñas pero tengo un problemilla al verificar si ya pasaron 12 horas o no. Tengo una tabla, ...
  #1 (permalink)  
Antiguo 12/01/2015, 14:17
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Verificar un tiempo si caduco o no

Hola gente, tengo un sistema de recuperación de contraseñas pero tengo un problemilla al verificar si ya pasaron 12 horas o no.

Tengo una tabla, con 3 columnas, user_id, token, fecha, Guardo la fecha con un time() no si eso sera un problema o no.

Código PHP:
$forgot['expire_time'] = 720//Time in minutes 720 es igual a 12 Horas.
$key FilterText($_GET['key']);
$check mysql_query("SELECT * FROM forgot_password WHERE token='$key'");
$datos mysql_fetch_assoc($check);
if(
$datos['fecha'] > $login['expire_time'] ){
//El código caduco

} else {
//el código no caduco

El problema es que conforme genero el token y lo verifico ya me sale que esta caducado.

Espero que me puedan echar una mano y gracias.
  #2 (permalink)  
Antiguo 12/01/2015, 14:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Verificar un tiempo si caduco o no

Bueno, la primera pregunta sería saber qué contiene realmente el campo fecha de la tabla forgot_password .
Porque si tiene una fecha y hora, siemrpe será mayor a 720. En todo caso deber tomar esa fecha y calcular cuantos minutos pasaron hasta la hora actual... Cosa que puedes calcular en la misma consulta.
Algo como:
Código MySQL:
Ver original
  1. SELECT TIMESTAMPDIFF(MINUTE, fecha, NOW()) fecha
  2. FROM forgot_password WHERE token='$key'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/01/2015, 14:29
 
Fecha de Ingreso: abril-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Verificar un tiempo si caduco o no

Yo lo probaria con las cookies:

Código PHP:
setcookie('caducidad','hola',time()+43200); //Time in seconds 43200 es igual a 12 Horas.
$key FilterText($_GET['key']);
$check mysql_query("SELECT * FROM forgot_password WHERE token='$key'");
$datos mysql_fetch_assoc($check);
if(!isset( 
$_COOKIE['caducidad'] ){
//El código caduco
} else {
//el código no caduco

Edito: esto no compararia con la fecha de la BBDD...
  #4 (permalink)  
Antiguo 14/01/2015, 10:17
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Verificar un tiempo si caduco o no

Acabo de hacer lo siguiente eh creado una nueva variable tiempo cogiendo solo i de la fecha guardada, Acabo de probar y funciona de lujo.

Código PHP:
$tiempo date('i'$datos['fecha']);
if(
$tiempo $forgot['expire_time'] ){ 
Antes de empezar a hacer nada si, me estuve planteando en hacerlo mediante cookies o sessiones, pero decante por por guardar la fecha y ver si esta o no en el plazo.

Ahora mismo me estoy leyendo lo de TIMESTAMPDIFF para hacerlo todo desde la consulta.
Gracias de verdad por la ayuda.

Última edición por Jose789; 14/01/2015 a las 10:59

Etiquetas: fecha, mysql, select, tabla, tiempo, verificar
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 15:26.