Si, il session_start() è necessario ovunque tu voglia utilizzare una sessione. Comunque, al codice che stai utilizzando sarebbe preferibile una cosa simile a quella che ti ho indicato prima. Dai un'occhiata anche al manuale, nella sezione dedicata, vedrai un esempio identico.