Si tu archivo de formulario es el mismo archivo que procesa la información, podrías ponerle a tus campos como valor inicial el valor enviado por post.
ejemplo:
Código HTML:
<input type="text" name="nombre" value="<?php echo $_POST['nombre']; ?>"
De esa forma, cada vez que envies tu formulario, y encuentre algun error, va a mostrar los mismos datos que fueron enviados.
Ahora si no existen datos (como cuando se entra por primera vez al sitio del formulario) el campo estara vacio, ya que los datos aun no existen.
xD ya respondieron algo parecido