Foros del Web » Programando para Internet » PHP »

Sesiones e identificacion de las mismas

Estas en el tema de Sesiones e identificacion de las mismas en el foro de PHP en Foros del Web. Hi Estoy haciendo un script en el cual las sesiones no expiran hasta que el usuario cierra todas las paginas del navegador que tienen vinculadas ...
  #1 (permalink)  
Antiguo 23/02/2005, 16:04
Avatar de jordia  
Fecha de Ingreso: septiembre-2003
Ubicación: Cali
Mensajes: 77
Antigüedad: 21 años, 1 mes
Puntos: 0
Pregunta Sesiones e identificacion de las mismas

Hi
Estoy haciendo un script en el cual las sesiones no expiran hasta que el usuario cierra todas las paginas del navegador que tienen vinculadas al servidor.
He tenido muchas ideas pero ninguna me ha resultado, en el cual en tiempo real me indique que usuario tiene abierto la pagina del servidor con su correspondiente sesion de inicio que seria el login o su SID.
Como hago para saber cuando un usuario se desconecta del servidor o cierra el Internet Explorer?
Tambien quisiera saber si tengo el SID del usuario logeado, como hago para saber si esta activo ese SID? es posible poder saber que SID estan activos en el servidor? y cuales?
Gracias
__________________
Jorgediaz.info
La felicidad esta en acortar la brecha entre tus sueños y la realidad!!
  #2 (permalink)  
Antiguo 23/02/2005, 16:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 9 meses
Puntos: 0
Podrías guardar un registro en una base de datos cada vez que un usuario entra a cada página, y hacer un cron job que cada x cantidad de minutos elimine los registros de la tabla con una antigüedad mayor al tiempo que quieras. Quizás, no sé :S

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #3 (permalink)  
Antiguo 24/02/2005, 06:58
Avatar de jordia  
Fecha de Ingreso: septiembre-2003
Ubicación: Cali
Mensajes: 77
Antigüedad: 21 años, 1 mes
Puntos: 0
Gracias pero no era la solucion que deseaba, eso que dices ya lo estoy implementando desde hace rato....
Lo que quiero es saber si en estaos momentos el equipo o usuario esta conectado al servidor.
__________________
Jorgediaz.info
La felicidad esta en acortar la brecha entre tus sueños y la realidad!!
  #4 (permalink)  
Antiguo 24/02/2005, 07:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
La gestión de sesiones de PHP por defecto no dispone de funciones para "preguntar" si tal SID es válido o no ... o cuanto tiempo le queda para que expire.

Ese tipo de gestión de una sesión tendrías que hacerlo por otros médios .. como por ejemplo guardar la fecha de ingreso de tu usuario (login) y actualizar dicha fecha a cada iteracción con tu aplicación .. es decir; cada petición de una página (script) .. así controlas si el usuario "sigue en el sistema" autentificado (login). A todo esto, debes definir un tiempo de "inactividad" donde decidas que si se ha superado ese tiempo entre la última iteracción con el sistema y la fecha actual .. ahí determinas que ya no está haciendo nada ..

Así es como funcionan los sistemas para detectar que un usuario ya está en el sistema (y así evitar concurrencia: 2 o más usuarios con el mismo usuario login ...), también para detectar los usuarios "activos" (de esto tienes un ejemplo en las FAQ's de este foro) .. etc. Todos usan la misma técnica.

Un saludo,
  #5 (permalink)  
Antiguo 24/02/2005, 07:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Lo que quiero es saber si en estaos momentos el equipo o usuario esta conectado al servidor.
En este entorno "web" con páginas HTTP . . las páginas se sirven a "petición" .. es decir .. tu pides en tu URL una página .. el serivor HTTP la procesa (por ahí podría llamar a PHP y este a su vez a BD ..etc...) y devuelve el resultado al "cliente" ..

Por ende .. no hay comunicación (socket) abierto constantemente com para saber en que instante un "cliente" se desconecta (sea por HOST, por script .. etc).

Eventualmente javascript tiene eventos como "onUnload()" para "detectar" si cerrastes una página .. (pero esto no involucra a mas páginas abiertas de una "aplicación" completa) .. tambien tiene sus problemas de uso. El caso es que con ese "evento" .. podrías llamar a tu script.php que "informe" a mode de un registro en una BD o similar que el usuario se desconectó .. Pero no es lo ideal usar este método ..

Un saludo,

Última edición por Cluster; 24/02/2005 a las 07:12
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 12:17.