Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: miltonprogramador en 21 Enero 2017, 22:16 pm



Título: ¿cual es el problema con la función date? Ayuda
Publicado por: miltonprogramador en 21 Enero 2017, 22:16 pm
Hola chicos... estoy desarrollando una aplicación web con php y me encuentro en el momento de cerrar la aplicación por inactividad... estoy llevando programación orientada a objeto y el patrón MVC... el detalle es que me consigo con una diferencia extraña.. explico un poco:

Tengo un formulario que loguea y otro que registra al visitante... el detalle es que al loguear el genera la variable de sesión que almacena la fecha y hora de inicio de sesión para compararla con la de ultimo acceso que esta en el controlador global pero al compararlas me da una diferencia de 16200... esto significa que es mucho tiempo y la aplicación la toma como sesión vencida y la cierra...

Lo que me esta rompiendo la cabeza es el porque esa diferencia si la función utilizada es la misma para ambas variables. la funcion es: date("Y-n-j H:i:s")

Tengo entendido que ese extraño número exactamente los 16200 tiene que ver con la zona horaria o algo así... pero no logro resolverlo...

AUXILIO...


Título: Re: ¿cual es el problema con la función date? Ayuda
Publicado por: engel lex en 21 Enero 2017, 22:44 pm
no uses date para eso, tienes que hacer muchas conversiones y terminan dado errores como esos si no sabes bien hacerlas
 
usa time (http://php.net/manual/es/function.time.php)

y colocas por ejemplo

si la inactividad es de 30 minutos

Código
  1. if(time()-$ultimo_tiempo > 30*60){
  2.  echo "sesion cerrada";
  3. }

time retorna el tiempo unix (en segundos) y este no está atado a la zona horaria


Título: Re: ¿cual es el problema con la función date? Ayuda
Publicado por: miltonprogramador en 21 Enero 2017, 23:11 pm
Excelente Ange.. ya me has salvado la vida varias veces el java y ahora en php jeje..para ti todos mis créditos.... Mil Gracias


Título: Re: ¿cual es el problema con la función date? Ayuda
Publicado por: engel lex en 21 Enero 2017, 23:29 pm
tranquilo, para eso está el foro, para ayudar... aprende! resuelve dudas! eso es lo importante! cuando tengas experiencia, ayuda a otras perosnas y listo! ;)