À priori, il ne semble pas évident de traiter un formulaire avec php dans la même page. En effet, lors de l’exécution de celle-ci, il faut trouver un moyen pour que le code php se déclenche uniquement après la validation du formulaire.
En pratique, on préfèrera souvent créer deux pages uniques.
Malgré tout, cet obstacle peut facilement être surmonté grâce aux champs cachés.
Démonstration :
Le champ caché n’apparaitra pas, mais transmettra bien une valeur. C’est en vérifiant cette valeur que l’on sera si le formulaire a été validé grâce au bouton.
Code du fichier index.php
<?php
if (isset($_POST['champ']) && $_POST['champ'] == 'traitement') // Si le champ caché existe et qu'il vaut 'traitement'
{
echo '<p>Le formulaire a été cliqué</p>';
}
else
{
echo '<p>Le formulaire n\'a pas été cliqué</p>';
}
?>
<form method = "post" action = "index.php" >
<input type = "text" name = "texte" />
<input type = "submit" />
<input type = "hidden" name = "champ" value = "traitement" /> // Le champ caché
</form>
Voir aussi :





