Validações de formulários simples

Vamos fazer uma validação simples de formulário:

<?php
$erro=true;
$erro_desc='';
if(isset($_GET['action']) && $_GET['action']=='validar'){
//para o caso de checked nos radios setado somente, caso contrário apresentará um erro de index
// if($_GET['pergunta1']=='sim') $resp1= 'resposta 1 positiva - checked'; else $resp1= 'resposta 1 negativa'; //se seu PHP for anterior a 4.1 use $HTTP_GET_VARS['index'] ao invéz de $_GET['index']
// if($_GET['pergunta2'] =='sim') $resp2= 'resposta 2 positiva - checked'; else $resp2= 'resposta 2 negativa';
//para o caso de não setar checked nos radios

if(isset($_GET['pergunta1'])){
switch ($_GET['pergunta1']) {
case 'sim':
$erro=false;
$resp1 ='resposta 1 positiva';
break;
case 'nao':
$erro=false;
$resp1 ='resposta 1 negativa';
break;
default:
$erro=true;
$erro_desc .= '<br>ERRO - pergunta 1 não respondida';
break;
}
}else{
$erro=true;
$erro_desc .= '<br>ERRO - pergunta 1 não respondida';
}

if(isset($_GET['pergunta2'])){
switch ($_GET['pergunta2']) {
case 'sim':
$erro=false;
$resp2 ='resposta 2 positiva';
break;
case 'nao':
$erro=false;
$resp2 ='resposta 2 negativa';
break;
default:
$erro=true;
$erro_desc .= '<br>ERRO - pergunta 2 não respondida';
break;
}
}else{
$erro=true;
$erro_desc .= '<br>ERRO - pergunta 2 não respondida';
}
}

//if ($erro==false) header('Location: http://www.spyderit.com.br'); //se a validação conferir o visitante segue a navegação retire as barras de comentário quando em produção
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
if (isset($erro_desc)){
echo $erro_desc;
}
if (isset($resp1)) echo '<br>'.$resp1;
if (isset($resp2)) echo '<br>'.$resp2;
?>
<form name="form1" method="get" action="<?php basename($_SERVER['PHP_SELF']);?>">
<p>Resposta alternativa 1 da pergunta 1
<input name="pergunta1" type="radio" value="sim">
<br>
Resposta alternativa 2 da pergunta 1
<input name="pergunta1" type="radio" value="nao" >
<br>
Resposta alternativa 1 da pergunta 2
<input name="pergunta2" type="radio" value="sim">
<br>
Resposta alternativa 2 da pergunta 2
<input name="pergunta2" type="radio" value="nao">
</p>
<p>
<input type="submit" name="submit" value="submit">
</p>
<input type="hidden" name="action" value="validar">
</form>
</body>
</html>