Comunidad de diseño web y desarrollo en internet online

Sesiones

Citar            
MensajeEscrito el 27 May 2009 01:33 pm
Hola, estoy utilizando sesiones y en la pagina los registra de esta manera

session_cache_limiter('private, must-revalidate');
session_start();
session_register('usuavalido');

Ahora necesito saber quienes estan en sesion esto es posible???

Gracias anticipadas

Por gabyedu

8 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 May 2009 09:36 pm
hola

En verdad seria asi

Código PHP :

session_start();
if ( !isset($_SESSION["user_loged"]))
{
     // no se logeo
    //redirecciono al login
    // header("login.php"); // <-- de esa manera
    //exit() // <--- luego del header se agrega el exit
}

// si llego aca es q el usuario ya esta logeado
echo "El usuario es: ".$_SESSION["user_name"];


Obvio q cuando el usuario se registra, guardas los datos asi

Código PHP :

//proceso de login y bla bla
$_SESSION["user_name"] = "nombre del usaurio";


Espero q te sea de ayuda, saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 27 May 2009 09:41 pm
Lo que quiero saber es queines estan logueados, para poder ponerles quien esta en linea o no :S

Gracias

Por gabyedu

8 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 May 2009 09:59 pm
Ah, perdon

Bueno ese es otro tema.

Lo q tenes q hacer es guardar en una base de datos quienes estan logeados. Te sugiero lo siguiente:

1. A tu tabla de usuarios de la BD, agregale un campo q indique la fecha y hora de la ultima actividad del usuario (o sea, vas a tener q por cada pagina q vea el usuario, actualizar este registro).
2. El saber cuantos usaurio hay conectados no es en tiempo real. Veamos, un usuario logeado es aquel usaurio q aun tiene la session activa (ya sea q este recorriendo el sitio o no), por lo tanto, si el tiempo de session de usuario en el servidor dura 2 hs, tenes q hacer un query q busque en la tabla de usauriarios quienes realizaron alguna actividad en ese tiempo. Esto se hace tomando la fecha/hora actual y restarle el tiempo q dura la session (ej 2 horas), y verificar si la fecha/hora de la ultima actividad del usuario es mayor a esta (todo esto se peude hacer en 1 sola consulta SQL).
Tambien en vez de tomar el tiempo q dura la session, podes por desicion propia mostrar los usuarios q estuvieron activos en la ultima 1/2 hora (algo un poco mas logico).

Bueno, espero q te sirva.... cualquier cosa chifla. Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 27 May 2009 09:59 pm
Ah, perdon

Bueno ese es otro tema.

Lo q tenes q hacer es guardar en una base de datos quienes estan logeados. Te sugiero lo siguiente:

1. A tu tabla de usuarios de la BD, agregale un campo q indique la fecha y hora de la ultima actividad del usuario (o sea, vas a tener q por cada pagina q vea el usuario, actualizar este registro).
2. El saber cuantos usaurio hay conectados no es en tiempo real. Veamos, un usuario logeado es aquel usaurio q aun tiene la session activa (ya sea q este recorriendo el sitio o no), por lo tanto, si el tiempo de session de usuario en el servidor dura 2 hs, tenes q hacer un query q busque en la tabla de usauriarios quienes realizaron alguna actividad en ese tiempo. Esto se hace tomando la fecha/hora actual y restarle el tiempo q dura la session (ej 2 horas), y verificar si la fecha/hora de la ultima actividad del usuario es mayor a esta (todo esto se peude hacer en 1 sola consulta SQL).
Tambien en vez de tomar el tiempo q dura la session, podes por desicion propia mostrar los usuarios q estuvieron activos en la ultima 1/2 hora (algo un poco mas logico).

Bueno, espero q te sirva.... cualquier cosa chifla. Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.