....scusa ma non sono molto ferrato sull'argomento delle variabili superglobali...cmq come passi il valore della variabile tra una pagina e un'altra? non vedo l'uso di cookie o sessioni
anzi usi un session_register ma senza aver inizializzato la sessione (session_start)....penso sia li il problema
...ovvero nella funzione devi richiamare prima del register session_start che dovrai cmq richiamare in testa ad ogni pagina che intendi 'proteggere'