L'unica discriminante per l'inserimento nel database è solo l'ultima condizione.
L'elenco di condizioni che hai fatto tu non sono esclusive, ovvero se c'è l'errore lo script si limita a segnalarlo.
Ma se questa condizione ($_POST['user'] == "$username")
dovesse risultare falsa, l'inserimento avverrà ugualmente, anche se tutte le condizioni precedenti risultassero vere.
L'errore è nella logica.
Anzichè usare una sfilza di if, prova a sostituirli con elseif