Foros del Web » Programando para Internet » PHP »

Sesiones en php

Estas en el tema de Sesiones en php en el foro de PHP en Foros del Web. Bueno tanto preguntar y darle vueltas al tema e encontrado un solucion fiable bueno les explico tengo un sistema de login en mi base de ...
  #1 (permalink)  
Antiguo 06/09/2011, 19:47
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años, 6 meses
Puntos: 11
Pregunta Sesiones en php

Bueno tanto preguntar y darle vueltas al tema e encontrado un solucion fiable bueno les explico tengo un sistema de login en mi base de datos la cual los usuarios tienen un campo llamado estado el cual al iniciar sesion el campo estado pasa a si y al cerrar sesion el campo estado pasa a no ¿Pero que pasa cuando un usuario en vez de apretar desconectar ? cierra el navegador Bueno la sesion sigue abierta y el campo estado del usuario sigue en si en vez de pasar a no bueno tengo un script al lado de mi sitio el que indica los usuarios conectado hace una busqueda de todos los usuarios que el campo estado tenga como resultado si per habia preguntado como solucionar este problema de al cerra el navegador se cierre la sesion.

Me habian dado la opcion de que se acutualize la fecha de usuario y todo eso pero se me ocurrio una idea mejor en vez de estar pegando el codigo en cada pagina quiero hacer un cron job en otras palabras una tarea repetitiva que sin que lo usuarios entren al servidor.

Ahora si despues de haberles relatado la historia para que la entiendan bien hago mi pregunta mi problema es que no me se las variables las cuales me dan el tiempo de caducidad de la sesion quiero que cada 20 minutos se ejecute mi cron job que se ejecute una pagina llamada nose aplicacion por ej y que esa pagian haga algo haci como una busqueda de los usuarios que tiene el camp estado en si y que diga que si la $_SESSION['usu']="aqui el usuario que realizo en la busqueda";
si esa sesion lleva 20 de inactividad le ponga session_destroy no se si es posible y si a alguien se le ocurre una idea mejor de como hacerlo con un cron job por favor que me de su opinion gracias de ante mano
  #2 (permalink)  
Antiguo 07/09/2011, 01:42
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Sesiones en php

Buenas,

No se puede hacer como lo planteas, por una sencilla razón, no puedes acceder desde el cron job a la sesión de cada usuario que tienes en ese momento en la aplicación. Es decir, si dentro de un fichero que se ejecuta mediante cron job acceder a $_SESSION['usu'], no te va a dar ningún valor, porque las sesiones se asocian al cliente que la creó y el fichero del cron job no ha creado ninguna sesión.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 07/09/2011, 02:27
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 6 meses
Puntos: 261
Respuesta: Sesiones en php

Busca información sobre session_set_save_handler.

Configurado correctamente cumple con lo que quieres hacer sin necesidad de crear un cron.

En la misma base de datos guarda el time de inicio de la sessión, y el script, en cada petición, comprueba el tiempo de las sesiones, y la que no cumple, elimina la session de la DB y pone el estado en "no" aunque el usuario salga sin cerrar correctamente.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #4 (permalink)  
Antiguo 07/09/2011, 10:52
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años, 6 meses
Puntos: 11
Pregunta Respuesta: Sesiones en php

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Busca información sobre session_set_save_handler.

Configurado correctamente cumple con lo que quieres hacer sin necesidad de crear un cron.

En la misma base de datos guarda el time de inicio de la sessión, y el script, en cada petición, comprueba el tiempo de las sesiones, y la que no cumple, elimina la session de la DB y pone el estado en "no" aunque el usuario salga sin cerrar correctamente.

Saludos,
Si e visto ese script pero sinceramente no se como se aplica si me ayudaras ne seria de mucha ayuda tengo mi BD con la base login y la tabla usuarios el cual los usuarios tienen nombre contraseña y el campo online
no se como hacerlo para hacer que se actualize la fecha con lo de la sesiones en realidad si se me ocurre pero seria igual si cerrasen el navegador o no ??

Etiquetas: cron, job, sesiones
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 13:44.