I sistemi di registrazione-login sono molto complessi da realizzare e le varie funzioni (registrazione-login-cambio password-gestione dei permessi-etc etc.) devono essere coerenti fra di loro!!

Io non sono uno dei massimi esperti di questo forum però ti posso dire le cose che a me sono saltate all'occhio:
- nel file login.php vi è due volte il comando sessione_start()
- la funzione session_is_registered è deprecata nelle versioni più recenti di php http://php.net/manual/en/function.se...registered.php
- chiamare un campo di mysql 'password' è sbagliato dato che è una parola riservata che non dovrebbe essere impiegata per chiamare un campo http://office.microsoft.com/it-it/ac...001231509.aspx
- le password andrebbero assolutamente criptate
- la procedura per verificare la corrispondenza potrebbe essere fatta molto più semplicemente con mysql_num_rows()
- il redirect con javascript lo trovo sbagliato (io lo fare con un header di php)

questo di primo acchitto ciò che ho visto...