ma nella pagina d'invio compaiono i dati corretti? Così a occhio velocemente, mi sembra che tu passi vari campi "codice" (tipo "codice1", "codice2", etc. con diversi valori), ma poi quando li recuperi con $_POST usi solo "codice" (che tra l'altro forse non esiste nemmeno...
Forse è qualcosa del genere...