Bueno...
como sugerencias podria decirte hagas los checkeos que puedas en JS antes de mandar el submit(ademas checkea en tu script). para mantener los valores antiguos postealos a la forma nuevamente y en la forma recoge esos valores.
otra segerencia seria que no redirecciones hasta encontrar todos los errores.
dado que resultaria engorroso una nueva carga para encontrar que tenia otro error.
Código PHP:
<?php
$error=false;
$errmsg=array();
$destination="ingresarcegreso.php";
if($tuchequeo1){
$errmsg["campo_del_error"]="mensaje de error";
$error=true;
}
/*... haces todos tus chequeos
y al FINAL de manera que muestres todos los errores encotrados
*/
if($error){
$url=$destination.'?'.$tus_campos_y_valores;
header('Location:'.$url);
}
/*EN tu forma obtienes esos valores por $_GET o $_REQUEST y los pones
en el value de tus input*/
Otra opcion seria estructurar el script por stratos en el mismo archivo de tal manera que:
1-Logica PHP
2-Forma
Bueno espero haber sido de ayuda...