Ver Mensaje Individual
  #10 (permalink)  
Antiguo 10/05/2006, 01:07
Avatar de ProgramadorMax
ProgramadorMax
 
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 3 meses
Puntos: 0
Bueno, me parece comprender tu problema.

1.- Ingresa a la pagina para registrarse e iniciar sesion (es necesario para manejar variables y tener identificado al usuario, tu elijes si deseas sesiones o no).
2.- Se reciben los datos y se guardan en una tabla llamada usuarios. La tabla puede manejar simples nicks (para no tener nombres duplicados, pues simplemente validas), o toda una variedad de datos como usuario y password. La tabla no guardara tiempos, esos los administrara el cliente, pero hasta este momento tus usuarios estan registrados y existiran todo el tiempo que sea hasta el siguiente proceso.
3.- El usuario puede navegar e irse a prepara un emparedado, su usuario sigue activo en el sistema.
4.- Mediante codigo javascript o AJAX (Consultar en el foro correspondiente), puedes programar un timer de 5 pasos de aviso en el navegador. El tiempo tu lo elijes. El codigo puede ser independiente del servidor o mandar peticiones al servidor sin gastar tanto ancho de banda, solo peticiones he? (Estoy hablando de ajax para poder realizar el envio de peticiones).

Ejemplo:

1.-En 30 minutos su sistema cerrara sesion -Pulse aceptar para actualizar su tiempo de espera
2.-En 20 minutos su sistema cerrara sesion -Pulse aceptar para actualizar su tiempo de espera
3.-En 10 minutos su sitema cerrarar sesion -Pulse aceptar para actualizar su tiempo de espera
4.-En 5 minutos su sistema cerrara sesion. -Pulse aceptar para actualizar su tiempo de espera
5.-Su sesion a terminado, ingrese nuevamente al sistema. -Pulse aceptar para cerrar

Nota: El usuario seguira activo cada vez que actualize y se desactivara una vez pasado el tiempo de espera, desde su ultima actualizacion.

5.- El usuario sigue activo y no gastas ancho de banda, hasta que el timer del navegador termina sus tiempos de aviso, donde el script termina la sesion, enviando una instruccion a tu navegador, de eliminar el usuario.

6.- Hasta aqui todo esto es simple, usaras codigo php,mysql y javascript o AJAX.

7.- Que si quieres borrar la tabla si no hay un usuario, eso tambien se puede, mysql permite tablas temporales, que actuan igual que una tabla normal, solo que esta la puedes borrar despues de usarla. Que como se borra esta tabla, pues simplemente se checa si existe y si no se crea, para agregar un usuario.

8.- Cuando ingrese tu, un query checa si existe la tabla y recorre filas, para mostrar los usuarios ok.

Esa fue la explicasion sencilla, ahora va la complicada. Puedes usar un sistema de registro de usarios, que inserte el tiempo en un campo timestamp o tiempo unix y confrontar este tiempo con las funciones de fecha de php, o las de mysql (las funciones de mysql son excelentes). Correr un cronjob que cheque el tiempo actual con el tiempo del usuario y si este ha pasado el tiempo permitido, eliminarlo. A la vez usas un query o en español CONSULTA, para ver quienes estan en linea. Si no quieres utilizar cronjobs, utilizar ajax para enviar ubdates a la tabla, para decir cuanto tiempo tienen estos usuarios.

Otra forma mas sencilla es dejar registrado al usuario en la base de datos, y si este se va y regresa al tercer dia, este estara activo un maximo de 1 dia (cronjob o ajax), asi que para volver a ingresar, un codigo checara un cookie y volvera a iniciar sesion y asi susecivamente.

Saludos.
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.

Última edición por ProgramadorMax; 10/05/2006 a las 01:14