Buenas a todos!
Estoy intentando implementar en mi proyecto, un sistema para que un usuario registrado en la BD, solo pueda estar conectado una sola vez con esas credenciales.
He estado mirando, y lo que me interesaria es que cuando un usuario esta logeado, por ejemplo con user=root pass=root, si otro se intenta logear con las mismas credenciales, este ultimo se logee y elimine la sesion del anterior.
Tengo una bd con dos campos, uno que contendra una variable de la sesion, y el otro que sera el id de la sesion. No se si necesito alguno mas.
Lo estoy intentando implementar pero no lo consigo, el codigo que tengo es este:
- Este es un archivo que agrego a todos mis archivos php, para controlar que el archivo esta logeado, es decir que se ha creado una sesion.
Código:
session_cache_limiter();
// Inicio la sesión
session_start();
// Para que al cerrar la ventana se termine la sesion
session_set_cookie_params(0, "/", $_SERVER["HTTP_HOST"], 0);
// Comprobamos que el usuario esta logeado
if ($_SESSION["logeado"] != "si") {
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
Creo que lo ideal, seria colocar un else para comprobar que si esta logeado en la web, mirar en la tabla sesiones si existe su sesion, y si ya existe actualizar el campo id_sesion con esta nueva sesion y eliminar la anterior, y si no crear un nuevo registro en la tabla.
Esta ultima parte no me viene el codigo a la cabeza ahora mismo, si podeis echarme una mano os lo agradezco
Saludos!!