allora come t'ho detto prima... a quel punto $id non è stata ancora inizializzata quindi $_POST[$id] non esiste,
non avevo il submit, ma sei sicuro di fare cosi tanti form?... se apri il form prima del while e lo chiudi dopo il while?...
---
poi personalmente non trovo molto senso a if(isset($_POST[$id])), e tutti gli input hanno lo stesso nome, cosa che non dovrebbe accadere...