Risolto.. la parte che dava problemi è:

Codice PHP:
 if(!isset($_SESSION['username'])) { 
 
header('Location: ?action=login'); 
 } else { 
 
header('Location: ?action=home'); 
 } 
Non ho capito il motivo ma ho risolto mettendo dei controlli sulla variabile nei vari case dell' action.