Voilà succinctement deux exemples qui j'espère te suffiront.
Tu trouveras ces pages en service pour démo à :
http://www.fr-webdev.net/demophp/
test1.php pour le premier
test2.php pour le second
<html>
<head>
<title>Test</title>
</head>
<body>
<h2>Formulaire ou Traitement</h2>
<?
if($submit) {
// si on passe par ici, le formulaire a été validé
$requete = "INSERT into TableTest (nom,mois) values ('$nom','$moisnaiss');";
// Ici (pour la démo) affichage de la requête. En réalité, il faut l'exécuter
echo "<i>Au lieu d'afficher la requête, il faudrait l'exécuter...</i><br/>";
echo $requete;
} else { ?>
<!-- si on passe par ici, c'est le premier appel (pas de $submit) -->
<!-- Affichage du formulaire (simplifié pour l'exemple) -->
<form name="test" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
Nom: <input type="text" name="nom" size="20"><br>
Né en: <select name="moisnaiss">
<option value="jan">janvier
<option value="feb">février
<option value="mar">mars
<option value="apr">avril
</select><br>
<input type="submit" name="submit" value="Enregistrer">
</form>
<? } ?>
</body>
</html>
ou si tu veux réafficher d'office le formulaire :
<html>
<head>
<title>Test</title>
</head>
<body>
<h2>Formulaire ou (Traitement + Formulaire)</h2>
<?
if($submit) {
// si on passe par ici, le formulaire a été validé
$requete = "INSERT into TableTest (nom,mois) values ('$nom','$moisnaiss');";
// Ici (pour la démo) affichage de la requête. En réalité, il faut l'exécuter
echo "<i>Au lieu d'afficher la requête, il faudrait l'exécuter...</i><br/>";
echo $requete; echo "<hr>";
} ?>
<!-- on passe d'office par ici, premier ou second appel (avec ou sans $submit) -->
<!-- Affichage du formulaire (simplifié pour l'exemple) -->
<form name="test" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
Nom: <input type="text" name="nom" size="20"><br/>
Né en: <select name="moisnaiss">
<option value="jan">janvier
<option value="feb">février
<option value="mar">mars
<option value="apr">avril
</select><br/>
<input type="submit" name="submit" value="Enregistrer">
</form>
</body>
Ai-je répondu à ta question ?
:o)