Foros del Web » Programando para Internet » PHP »

Estado del usuario

Estas en el tema de Estado del usuario en el foro de PHP en Foros del Web. Hola, miren, tengo un sistema de usuarios pero quiero que cuando vallan al perfil de algun usuario muestre el estado. Osea, si esta online u ...
  #1 (permalink)  
Antiguo 17/07/2012, 12:42
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Estado del usuario

Hola, miren, tengo un sistema de usuarios pero quiero que cuando vallan al perfil de algun usuario muestre el estado.

Osea, si esta online u offline.. Pero no se como hacer eso.

Última edición por ameno123; 17/07/2012 a las 12:48
  #2 (permalink)  
Antiguo 17/07/2012, 12:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

crea un campo en tu bd con el campo por ejemplo estado y con valores online u offline

ahora al hacer el login aztualizamos dicho campo a online y al hacer el logout aztualizamos a offline y en la pagina del usuario nada mas es mostrar dicho campo

esto es lo mas basico pero se puede complicar mucho mas , por ejemplo si un usuario abandona sin hacer logout ?? se queda el estado en online
pero bueno eso es lo basico

Última edición por webankenovi; 17/07/2012 a las 13:05
  #3 (permalink)  
Antiguo 17/07/2012, 17:03
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Estado del usuario

Cita:
Iniciado por webankenovi Ver Mensaje
crea un campo en tu bd con el campo por ejemplo estado y con valores online u offline

ahora al hacer el login aztualizamos dicho campo a online y al hacer el logout aztualizamos a offline y en la pagina del usuario nada mas es mostrar dicho campo

esto es lo mas basico pero se puede complicar mucho mas , por ejemplo si un usuario abandona sin hacer logout ?? se queda el estado en online
pero bueno eso es lo basico
por eso.. yo lo pe nse asi.. pero si no hace logout?? me queda logueado..

Esta es mi idea. Se puede hacer que algo que envie a la bd dure 15 segundos?? y despues vuelva al original?

Con eso ya estaria resuelto.
  #4 (permalink)  
Antiguo 17/07/2012, 17:13
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

añade un campo llamado time

y cada aztualizacion de pagina guardas el valor de time(): en ese campo si esta online

y un script que compruebe el valor de time guardado y si es mayor de 30 miin por ejemplo lo pones en offline
  #5 (permalink)  
Antiguo 18/07/2012, 12:28
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Estado del usuario

Cita:
Iniciado por webankenovi Ver Mensaje
añade un campo llamado time

y cada aztualizacion de pagina guardas el valor de time(): en ese campo si esta online

y un script que compruebe el valor de time guardado y si es mayor de 30 miin por ejemplo lo pones en offline

Claro, es algo como lo que yo queria hacer.

Pero el tema es que.. No se como poner ese script.
  #6 (permalink)  
Antiguo 18/07/2012, 12:43
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

entonces primero logeamos y ponemos el valor en online y ademas supongo qeu daras algun valor de session al usuario para autenticacion vale ahora vamos a usar esa session

login
verificamos que es un usuario
update campo estado por ejemplo -> online
el time(); lo guardamos tambien en la bd campo time por ejemplo
update campo time por ejemplo -> time();

ahora en todas las paginas añades este script que se ejecutara cada vez que un usario aztualiza una pagina verificando la session de autenticacion del login

1- seleccionamos el estado de time en una consulta del usuario logeado
2- comprobamos si ese valor es mayor de 30 min

$time = time();
$segundos = 1800;// segundos 1800 30 min
$controlador = $time - $segundos;

ahora aztualizamos todos los estados online que sean mayores de 30 min y los ponemos en offline

update users set estado='offline' where time< $controlador

y despues un update de los que sean menor de 30 min aztualizamos el campo time


update users set time='".time()."' where time> $controlador

y mas o menos ese es el proceso aunque hay muchas mas formas de hacerlo y mas complejas
  #7 (permalink)  
Antiguo 18/07/2012, 16:17
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Estado del usuario

Cita:
Iniciado por webankenovi Ver Mensaje
entonces primero logeamos y ponemos el valor en online y ademas supongo qeu daras algun valor de session al usuario para autenticacion vale ahora vamos a usar esa session

login
verificamos que es un usuario
update campo estado por ejemplo -> online
el time(); lo guardamos tambien en la bd campo time por ejemplo
update campo time por ejemplo -> time();

ahora en todas las paginas añades este script que se ejecutara cada vez que un usario aztualiza una pagina verificando la session de autenticacion del login

1- seleccionamos el estado de time en una consulta del usuario logeado
2- comprobamos si ese valor es mayor de 30 min

$time = time();
$segundos = 1800;// segundos 1800 30 min
$controlador = $time - $segundos;

ahora aztualizamos todos los estados online que sean mayores de 30 min y los ponemos en offline

update users set estado='offline' where time< $controlador

y despues un update de los que sean menor de 30 min aztualizamos el campo time


update users set time='".time()."' where time> $controlador

y mas o menos ese es el proceso aunque hay muchas mas formas de hacerlo y mas complejas

BUENISIMO, GRACIAS. Era masomenos lo que estaba buscando.

Eso lo podria poner en un archivo: time.php

E incluirlo en todas las páginas??
  #8 (permalink)  
Antiguo 18/07/2012, 18:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

si claro esa es la idea estar en todas las paginas , puedes llamarlo como vos quieras jjejee saludos . . .. . .
  #9 (permalink)  
Antiguo 18/07/2012, 20:28
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Estado del usuario

Cita:
Iniciado por webankenovi Ver Mensaje
si claro esa es la idea estar en todas las paginas , puedes llamarlo como vos quieras jjejee saludos . . .. . .
Gracias, estuve probando pero.. El time(); me pone un numero largo... Osea se que lo ultimo son los segundos, por que lo actualizo y va aumentando.

No se como usar ese time. Si me ayudas un poquito más con el tema de el script me ayudaría mucho. La idea ya está.
  #10 (permalink)  
Antiguo 18/07/2012, 22:48
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

tiime es la fecha unix actual , siempre va aumentando http://php.net/manual/es/function.time.php

la idea es usarlo tal cual en el login y cada vez que el script aztualize un usuario que su campo time en la bd sea inferior a 30 min desde la ultima vez que se le aztualizo, y hacer el arreglo de restar 30 min como te dije para buscar en la bd .

si quieres sube lo que yevas echo y vemos como vas
  #11 (permalink)  
Antiguo 18/07/2012, 22:51
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estado del usuario

tiime es la fecha unix actual , siempre va aumentando http://php.net/manual/es/function.time.php

la idea es usarlo tal cual en el login y cada vez que el script aztualize un usuario que su campo time en la bd sea inferior a 30 min desde la ultima vez que se le aztualizo, y hacer el arreglo de restar 30 min como te dije para buscar en la bd .

si quieres sube lo que yevas echo y vemos como vas

Etiquetas: estado, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:28.