Quella è una scelta che devi prendere tu, puoi fare in entrambi i modi. Io personalmente preferisco fare tutto in una stessa pagina: il codice è un po' più incasinato (a livello estetico, se come me non sei proprio ordinato), ma almeno hai tutto in uno stesso posto ed è più facile trovare gli errori. Ma, ribadisco, è una preferenza personale e dipende dalle esigenze.
Ti faccio vedere come gestisco a livello logico i form come il tuo (per semplicità farò finta che ci sia una sola variabile):
Codice PHP:
<?php
if( è impostato array post )
{
$moduloinviato = TRUE; // metodo migliorabile, ma per capirci andrà benissimo
// controlla le variabili
if( vabene($_POST['nomesquadra']) ) // con vabene() immagino che tu possa controllare se un indirizzo e-mail esiste o se il campo inserito non è vuoto, ecc
{
// salva la variabile dopo averla pulita
}
else
{
// salva quale variabile ti ha dato l'errore
$errori[] = "Nome della squadra";
}
if(sizeof($errori) > 0)
{
echo "I seguenti campi sono obbligatori o presentano degli errori:";
echo "<UL>";
for(scorri array) echo $errori[$i];
echo "[/list]";
}
else
{
// salva i dati puliti e mostra un messaggio di conferma
// poi puoi fare morire lo script o usare un header() per rimandarlo ad un'altra pagina, o ristampare il form sotto, come credi...
}
}
?>
<FORM method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<INPUT name="nomesquadra" <?php
if($moduloinviato) echo 'value="' . puliscivar($POST['nomesquadra']) . '"';
?>>
</FORM>
Spero di non aver scritto cazzate che sono un attimo di fretta