il foreach e' piu' performante e sopratutto ti permette di non avere campi obbligati. e' piu' versatile in altre parole.

Ho rivisto lo script del primo post sul mio pc. Dovresti abilitare gli allarmi ed i notice quando sviluppi o fai debug.....

Non hai messo il $ alla variabile in count. Cosi' funzionerebbe:
codice:
    for ($index = 0; $index <= count($campo_nome); $index++ )  {
         if ($_POST[$campo_nome["$index"]] == "") {
         $errore = 1;
         break;
         }
    }
ma il foreach e' meglio....
codice:
foreach($_POST as $key => $value)  {
if($value == '') {
  echo "Pippolo metti il dato in $key";
  exit;
  }
}