Che casotto ...

Innanzitutto ti sconsiglio vivamente di utilizzare questo approccio perche' ti incasini solo la vita.
E se un utente pigia F5 sulla pagina ? Submitta costantemente il form e ti spamma il db.

quindi consiglio di :
1 separare
2 semplificare


1) separa il form (view) dalle operazioni di salvataggio dati(controller) e dalle strutture dati(model)
2) risolvi 1 problema alla volta nei vari elementi che vai a separare al punto 1

quindi :

a) crei il file html con il form e la action di submit
b) crei lo script per gestire i dati con le necessarie protezioni
c) inserisci il codice nello script e un gestisci la terminazione con redirect + codice di uscita in get o session o dove ti pare
d) crei la pagina di uscita dove gestire la terminazione della procedura.

Evita quindi di mescolare troppo codice PHP e HTML.
Inserisci i var_dump($variabile) necessari a capire lo stato delle var nelle porzioni di codice che reputi problematiche o che nn sai a priori cosa stanno gestendo
e per l'amor d'iddio evita di fare

if{ ?>
codice html <?
}

Che diventi scemo a capire cosa succede, piuttosto forgiati una stringa in testa a lla pagina e poi la stampi direttamente nell'html altrimenti esci pazzo a debuggare infatti se noti ti manca la chiusura dell'else ( o non l'ho vista in quel marasma )