Eccolo...

codice:
<?php

  foreach ($HTTP_POST_VARS as $key => $value)
  {
      if ( $value == "" )
      {
         $blank_array[$key] = "blank";
         $new_form[$key] = "$key:
";
         $old_val[$key] = "";
      }elseif ($key == "Email" and !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$",$value)){
               $bad_format[$key]="bad";
               $new_form[$key] = "$key:
";
               $old_val[$key] = $value;
            }else{
               $new_form[$key] = "$key:
";
               $old_val[$key] = $value;
            }  
  } 
  
  if (@sizeof($blank_array) > 0 or @sizeof($bad_format) > 0)
     {
         if (@sizeof($blank_array) > 0){
            echo "Attenzione, modulo incompleto. Compilare i campi evidenziati in grassetto:

\n";
            }
         if (@sizeof($bad_format) > 0){
            echo "Errore nel formato email. Prego correggere.

\n";
            }
        echo "<form action='validateCli.php' method='POST'>";
        
    foreach($new_form as $key => $value)
    {
        echo $new_form[$key];
        echo "<input type='text' name=$key value=$old_val[$key]>\n";
        echo "
\n";
    }
    echo "
\n<input type='submit' value='Inserisci'><input type='reset' value='Pulisci'>\n";
    echo "</FORM>";
    }else{
    echo "Bravo, hai compilato tutti i campi

\n";
    echo "Ripepilogo informazioni iserite:

\n";
    echo $old_val['Nome']."".$old_val['Cognome']."
\n";
    echo $old_val['Indirizzo']."
\n";
    echo $old_val['CAP']."".$old_val['Paese']." (".$old_val['Provincia'].")
\n";
    echo $old_val['Nazione']."
\n";
    echo $old_val['Email'];
   }
?>
Come detto, se trova un errore e quindi ripropone il form dati incompleti, se invece è tutto compilato giusto riprone un riassuntivo dei dati inseriti (ultima else) e li risultano completi. la Variabile non cambia (sempre $old_val[chiave])