Foros del Web » Programando para Internet » PHP »

sessiones

Estas en el tema de sessiones en el foro de PHP en Foros del Web. Hola quetal hay alguna forma de obtener la cantidad de sessiones iniciadas en mi sitio web? ademas puedo hacer algo como esto es que no ...
  #1 (permalink)  
Antiguo 13/02/2009, 21:52
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
sessiones

Hola quetal hay alguna forma de obtener la cantidad de sessiones iniciadas en mi sitio web?

ademas puedo hacer algo como esto es que no se si de pueda hacer y tampoco encuentro un lugar donde lo hayan hecho generalmente cuando registramos una variables de session le hacemos algo como
session_register("NombredeSession") ok por ese lado no hay problema y para preguntar si la session esta iniciada pues preguntamos if(isset($_SESSION['NombredeSession']) ok pero ahora mi caso es que necesito preguntar especificamente por una persona es decir

if(isset($_SESSION['Andres']) o if(isset($_SESSION['Carlos']) el nombre variara se puede lograr esto?

Muchas gracias

Última edición por acoevil; 13/02/2009 a las 22:04
  #2 (permalink)  
Antiguo 13/02/2009, 22:05
Avatar de yobain  
Fecha de Ingreso: febrero-2009
Ubicación: Mérida
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 1
(Session Save Path): /var/lib/php/session

<?php
$sessionpath = session_save_path();
if (strpos ($sessionpath, ";") !== FALSE)
$sessionpath = substr ($sessionpath, strpos ($sessionpath, ";")+1);
?>

o este

Última edición por GatorV; 14/02/2009 a las 17:01
  #3 (permalink)  
Antiguo 13/02/2009, 22:07
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
??? q hago con eso sesun leo eso hace esto session_save_path — Lee y/o cambia la ruta donde se guardan los datos de la sesión actual ??

ooo lee la ruta donde se guardan las session pero no entiendo como puedo obtener los nombres de las personas que han iniciado la session

Bueno mejor miren esto es lo que tengo que hacer

protected function CompSession()
{
$usuarios=$this->ObtenerEstado1();

while($row=mysql_fetch_array($usuarios))
{
if(isset($_SESSION[$row[$this->campo])) --> Logicamente aqui esta el error lo que estoy tratando de hacer es lo sgte
{

return true;
}
else
{
return false;

}
}
}

Por medio de $usuarios que me trae todas las personas que tengan estado en 1 despues lo paso a un fech_array y voy obteniendo los nombres de la personas y quiero ir comparando con el if si existe una una variable de session con ese nombre si existe se devuelve true de lo contrario false es decir

Espero se entienda

Alguna idea ? Gracias

Alguna ayudita por aca ? deveras necesito hacer esto estare esperando muchas gracias

Última edición por GatorV; 14/02/2009 a las 17:02
  #4 (permalink)  
Antiguo 14/02/2009, 14:09
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sessiones

Medio complicada la forma en que preguntas, pero, si entendí bien:

Sobre contar la cantidad de sesiones activas, yo, tomaría un valor de la variable $_SESSION que sea estático (por ejemplo: $_SESSION['usuarioActivo']) y en eso uso utilizo count()

Digamos que en $_SESSION['usuarioActivo'] se guardara el nombre del usuario que inició sesión, el código sería así:
Código PHP:
session_start();

....

$sesionesActivas count($_SESSION['usuarioActivo']); 
$sesionesActivas tendría un número en base a cada valor guardado en $_SESSION['usuarioActivo']


Sobre lo otro, yo preferiría usar algo similar a lo de arriba, es decir, un valor de la matriz $_SESSION que sea estático y comprar los valores, pero, si no quieres cambiar tu código, podrías usar esto:
Código PHP:
if(!empty($_SESSION)) {
    if(
key($_SESSION) == 'Andres'))
        print(
"La sesion activa es la del usuario Andres");

Podrías comparar e implementar como gustes, el punto clave sería utilizar la función key() para poder comparar las claves de la matriz $_SESSION y no los valores
__________________
Usuario Reigistrado de linux #399288
  #5 (permalink)  
Antiguo 14/02/2009, 15:15
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: sessiones

Acron_0248 hola quetal resolvi el problema de esta manera dime si puede llegar a tener alguna falla mas adelante es que no se mucho de variables de session solo lo fundamental para un sitio no lo habia hecho mira lo que hize


Primero en $usuarios traigo todas las personas que tengan estado 1 esas personas se suponene que son las que estan logueadas en el momento pero por ejemplo si la persona cierra el navegador y no pulsa sobre logout entonces ese campo 1 siempre estara alli entonces lo que hago es un ciclo while donde voy comparando la matriz session con los usuarios que tengan 1 en la DB si la comparacion existe entonces no hago nada de lo contrario si el usuario que tiene 1 en la DB y no esta en la matriz session entonces lo que hago es colocar el campo en 0 que piensas de lo que acabo de hacer ?

protected function CompSession()
{
$usuarios=$this->ObtenerEstado1();

while($row=mysql_fetch_array($usuarios))
{
if($_SESSION['login']==$row[$this->campo])
{

}
else
{
$this->UpdateEstado0($row[$this->campo]);
}
}
}
  #6 (permalink)  
Antiguo 14/02/2009, 15:38
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sessiones

Pues si te funciona como quieres, genial

Yo en lo particular lo veo algo enrollado por el hecho de que, según parece, estás controlando el estado de las sesiones en dos sitios distintos, si la persona tiene una sesión activa es controlado por un valor almacenado en la base de datos, sea 1 o 0, pero a su vez, estás usando la variable $_SESSION para decidir y mantener el estado de la sesión.

Sin embargo, como dije, si te funciona lo que tienes hecho hasta ahora como quieres, pues perfecto, yo preferiría usar session_handler si voy a controlar las sesiones utilizando datos guardados en la base de datos o simplemente usaría $_SESSION para controlar todo

Cosa de gustos nada más :)
__________________
Usuario Reigistrado de linux #399288
  #7 (permalink)  
Antiguo 14/02/2009, 16:01
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: sessiones

Si es es verdad solo que me toco implementar lo que coloque mas arriba porque aveces las personas no se desloguean solo cierran la pagina entonces el estado estara siempre en 1 y mostrara a los usuarios que enrrealidad no estan conectadas y con el script que hize con tu ayuda siempre esta comprobando que los estados siempre se han los correctos

Gracias Acron_0248
  #8 (permalink)  
Antiguo 14/02/2009, 16:08
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: sessiones

Pues chévere entonces, suerte con tu proyecto ;)
__________________
Usuario Reigistrado de linux #399288
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 00:07.