Cita:
Iniciado por cyborg gracias, ya vi lo del aviso de la version 4.2
no me habia fijado..
y ahora pensando pensando......
el session_id solo cambia cada vez que yo hago un session_id no?
mientras tanto permanece el mismo...
igual no me va a servir para lo que decia... o no es tan sencillo como creia
pensaba en guardar el valor del session_id en otra variable de sesion no se... $_SESSION['identificador']=session_id();
y tal vez guardarlos en la bbdd para tener un control de a que hora se logueo y demas
pero quizas tenga el problema de si cierras el navegador a las brabas.....
no se.... es muy descabellado lo que pienso?
No tiene sentido guardarte el SID en una variable de sesión .. ese dato (el SID) ya lo obtienes usando session_name() + session_id() o directamente la constante SID:
ejemplo:
Código PHP:
<?
session_start();
echo SID;
?>
session_id() lo puedes usar de dos formas:
1) si lo usas como session_id() .. obtienes el ID de sesión asignado en ese momento para esa sesión en curso.
2) si le das un valor (session_id("algundato")) ahí estarás forzando tu própio "ID" de sesión. Recuerda que un ID de sesión ha de ser único .. por eso PHP genera ya por sí solo un "MD5" para hacerlo único.
Cita: y tal vez guardarlos en la bbdd para tener un control de a que hora se logueo y demas
pero quizas tenga el problema de si cierras el navegador a las brabas.....
no se.... es muy descabellado lo que pienso?
Las sesiones de PHP standar (las que genara PHP por defecto) no tienen control sobre todo eso. En tu sistema de gestión de usuarios perfectamente (uses sesiones o no) puedes guardarte la fecha que ingresó tu usuario, actualizar otro campo que guarde la fecha de la última iteracción con tu sistema (que recargó una página, ejectó tal script.php .. etc) y con esos datos determinar si tu usaurio sigue en el sistema o no con su margen de error .. pues vas a tener que decidir que "si no ha ocurrido actividad (recargó una página .. llamó a un script.php por un link, formulario ..etc donde registras esa fecha de iteracción) ha pasado más de N tiempo .. ahí consideraras que tu usuario ya no está en el sistema .. es decir, que salió del sistema de forma anormal (no por tus "logout" que implementes) ya sea que cerró su navegador o similar.
Esto es parte de las técnicas que usan los sistemas de "usuarios en línea" (que veras ejemplos en las FAQ's de este foro PHP).
Por otro lado, tienes funciones en PHP para detectar que un cliente ha cerrado su conexión .. pero sólo en el trasncurso de la ejecución de un script .. lo cual suele ser tan rápido que no te sirve para tus propositos, es decir . una vez entregada la página resultante de la ejecución de tu script PHP al cliente (navegador).
Un saludo,