Pero' se effettui i controlli del form nella stessa pagina e si verifica un'errore sui campi richiesti ti viene piu' facile gestire la cosa e riproporre il form per la richiesta dei dati con gli errori specificati
come ad esempio in questo caso:
codice:
$action = isset($_GET['a']) ? $_GET['a'] : '';
switch($action)
{
    case 'ctrl':
    //Esegui il codice di errore e se presente setti la variabile
    //$error con il tipo di errore
    if (empty($_POST['test'])) $error = 'La variabile "TEST" egrave; richiesta';
    if (!isset($error)) break;
    default:
    if (isset($error)) echo $error //Se $error e' impostata la stampi
    //Stampi il form
    echo '<form action="?a=ctrl" method="post">
              <input type="text" name="test" value="'.
              (isset($_POST['test']) ? $_POST['test'] : '').' />'.
         '<input type="submit" name="invio" value="conferma" />
          </form>';
}
Naturalmente esistono metodi migliori ma di esempi se ne possono fare a migliaia