non si capisce piu' se parli del primo if del primo post oppure della if del secondo.....

primo post:
se cerchi il session_id prima di aprire la sessione la if trovera' sempre un false e quindi inizializza $_SESSION['user'] con 'anonymous' tutte le volte ....


va bene invece la seconda if, anche se userei !empty invece di isset. Potrebbe essere settato ma vuoto.