Ho risolto, il session_start() andava messo a inizio codice.
Per le altre pagine non c'è bisogno che il session_start() sia ripetuto giusto?

Adesso ho solo il problema che appena cambio pagina e poi torno su quella "incriminata" la variabile di sessione sembra tornare nulla infatti il mio if(isset...) smette di essere true. La sessione non dovrebbe rimanere aperta fin quando non la si distrugge esplicitamente tramite codice o fin quando non si chiude la pagina del browser?