iul comando header funziona anche alla fine della pagina ... ma solo se non hai generato nessun output prima (echo var_dump etc...)
il mio consiglio e' che tu faccia cosi
1- pagina html con quello che sia e link + form etc...( tutti collegati a script esterno)
2- script esterno con tutti i controlli del caso e il redirect alla pagina.
cosi' vai tranquillo che una vola pigiato il submit lo script esegue il codice, aggiorna i dati e torna alla pagina chiamante.
Dal punto di vita utente quelle che vedi e' un refresh della pagina.