Hola. Creo que con la función header(), si el usuario había llenado otros campos, no le aparece lo que había escrito ¿cierto?
Por otra parte, se recomienda que los campos de un formulario se validen tanto en el lado del cliente, con javascript, como del lado del servidor. Esto para evitar hacer muchas peticiones al servidores si el usurario comete muchos errores llenando el formulario.
Aquí puedes encontrar como validar los campos utilizando javascript.