Usa Jquery ci metti 2 secondi a capire come funziona.
Invii i dati e richiedi la risposta in json e sei apposto puoi fare tutti i ciontroplli che vuoi senza cambiare pagina o altro.
Pensaci e' davvero una tecnica molto comoda, inoltre jquery sei sicuro che funziona anche su mobile.
Poi dipende come e' strutturato il form
io di solito faccio cosi' in questi casi
1- pagina html con il form
2- script lato server di gestione e controllo
3- invio dati a script => salvo dati in post in var di sessione
4- se tutto apposto distruggo la var di sessione e mi gestisco i dati (db o altro)
5- se errore torno alla pagina html
5.1 - scarico i dati dalla sessione
5.2- distruggo i dati in sessione
5.3- ripopolo il form con i dati inseriti e notifico gli errori
Se tu fai tutto su unico script(scelta sconsigliatissima pensa se utente preme F5 ! ) allora ti basta gestire la variabile $_POST o $_GET che sia (in base al method del form) e nel form fai una cosa come
<input type="text" value="<?=$_POST["name"]?>" />
etc etc

Rispondi quotando