Pero si estas enviandolos a una pagina de chequeo y en caso de error los devuelves a esta pagina... estas armando un form que se auto envie en la pagina de chequeo con todos los inputs hidden necesarios y luego tomando cada una de esas variables al cargar el formulario?
 
Algo asi:
//paginaForm.php 
 Código PHP:
    $test = isset($_POST['test'])?$_POST['test']:"";
$form = '
<form action="paginaChequeo.php" method="post" id="form">
    <input type="text" name="test" value="'.$test.'">
    <input type="submit" name="enviar" value="Enviar">
</form>';
print $form; 
    
  //paginaChequeo.php 
 Código PHP:
    //tu codigo
$test = isset($_POST['test'])?$_POST['test']:"";
if(error){
    $form = '
<form action="paginaForm.php" method="post" id="form">
    <input type="hidden" name="test" value="'.$test.'">
</form>
<script>
    document.getElementById(\'form\').submit();
</script>';
print $form;
} 
    
  Me parece que puede ser un problema con el javascript pero prueba este otro metodo. 
Suerte! 
