Hola, a lo mejor entiendo mal pero .. ¿esta es la parte de codigo en la que compruebas si el usuario ha iniciado sesión?
Cita: session_start();
if(isset($_SESSION)) {...}
porque tengo que decirte que eso es siempre true , ya que precisamente lo que hace session_start() es habilitar el uso de esa variable $_SESSION. para comprobar si un usario ha iniciado sesion crea una variable en $_SESSION u asignale el nombre de usuario o el identificador
Cita: $_SESSION['user'] = $user
cambia el codigo anterior por
Cita: session_start();
if(isset($_SESSION['user'] ))
tal vez he entido mal tu código y no era eso lo que buscabas pero si es asi ... siempre compruebas si hay una sesion pero no si hay un usuario valido en ella. y por lo tanto siempre es true ya que antes de comprobar si el usuario es valido, la sesion es creada.