Codice PHP:

function check_sub_invio()
{
$arr = array(0=>$_SESSION['cognome'],1=>$_SESSION['nome'],2=>$_SESSION['email']);

foreach(
$arr as  $k => $v )
{
$valore trim($v);
$string 'error';
$sub substr($valore05);
if(
$sub === $string)
{
$sub_invio "<input type=\"button\" name=\"Submit\" value=\"verificare i campi error\" style=\"background-color: red\">";
}
else
{
$sub_invio "<input type=\"submit\" name=\"Submit\" value=\"Completa l'iscrizione\" style=\"background-color: white\">";
}
}

return 
$sub_invio;

questo codice si limita a salvare in sub_invio solo l'ultimo caso del foreach...la logica sarebbe
Codice PHP:
foreach(){
if(
$sub === $string) return errore
}
return 
OK 
se ti basta che un campo sia in errore per far visualizzare il pulsante con verificare i campi, diversamente puoi usare un flag oppure un contatore..
Codice PHP:
$flag=true;
foreach(){
if(
$sub === $string$flag=false;
}
if(
$flag) return OK
else return errore 
contatore
Codice PHP:
$flag=0;
foreach(){
if(
$sub === $string$flag++;
}
if(
$flag>0) return $flag." campi sono errati";
else return 
OK 
puoi sbizzarirti