se ho capito bene tu vuoi che una volta cliccato il submit, se il form non viene validato lato server, ti riappaia il form con i valori precedentemente inseriti dall'utente....se vuoi fare questo, potresti (lato server), una volta che i dati non sono stati validati, inserire i valori in un array e ripassarli al form. poi per ogni campo input del form fai una cosa del genere

Codice PHP:
<input type="text" name="campo1" value="<?php if (isset($_GET['array'])) { $array $_GET['array']; echo $array[0]; } else echo ""?>">
assumendo che i dati dal server al form vengano passati tramite get....cioe in pratica se trova il valore $_GET['array'] allora come valore inserisce all'interno di ogni campo $array[0] (cioe il primo,secondo,terzo.... valore dell'array), se non trova $_GET['array'] non inserisce nessun valore (caso in cui il form venga caricato per la prima volta)