aquí te dejo algo para que cheques.
esta es la página donde introduces los datos
Código PHP:
<?php
//esto es para posibles errores del error_reporting si es que esta activado
foreach($_POST as $nombre => $valor)
{
if(empty($_POST["$nombre"]))
$_POST["$nombre"]='';
}
?>
<form action="principal.php" method="post" name="form1">
<h3 align="center"><label>Nivel1 </label>
<input name="nivel1" type="text" value="<?=$_POST['nivel1']?>">
</h3>
<h3 align="center"><label>Nivel2 </label>
<input name="nivel2" type="text" value="<?=$_POST['nivel2']?>">
</h3>
<center> <input name="Aceptar" type="submit" value="Aceptar"> </center>
</form>
y esta es principal.php
Código PHP:
<?php
//Recoger datos del formulario
// ya no se usa $HTTP_POST_VARS
$flag=true; //bandera para desición
//creamos el formulario con campos ocultos para regresar
//cambia pagDeDondeVino.php por el nombre de la página donde introduces los datos
echo '<form action="pagDeDondeVino.php" method="post" name="form1">'
foreach($_POST as $nombre => $valor)
{
if(empty($_POST["$nombre"]) && $flag==true)
$flag==false;// si un campo esta vacio, cambiamos a falso
echo "<input name=\"$nombre\" type=\"hidden\" value=\"$valor\">"
}
echo '</form>';
if(!$flag)//si $flag es falso
{
echo "Error, campos imcompletos";
echo '<br><br> <a href="javascript:void(0);" onclick="document.forms[\'form1\'].submit();">Volve Para Llenar Datos Faltantes</a>';
}
else//de lo contrario
{
insertarDatos($nivel1,$nivel2) //Esta funcion se encarga de hacer la conexion a la bd e insertarlos...
}
?>
lee los comentarios que te deje dentro del código.
prueba y me dices, y si no te respondo pronto, no desesperes es que me estoy llendo a almorzar

.
suerte y saludos.