Validation de champs d'un formulaire avec php [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
dimanche 7 avril 2013
Statut
Membre
Dernière intervention
8 avril 2013
-
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
-
Bonjour,
J'essaie en vain de créer un fichier php pour valider un champ de formulaire et n'y arrive pas.
Ceci est un essai car la finalité est en fait de vérifier les champs d'un formulaire avant d'envoyer un message à partir d'un onglet contact de mon site.
Voici l'essai qui ne marche pas :

Le fichier s'appelle testtf.php et le code est
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE></TITLE>
</HEAD>

<body>
<TABLE width="75%" border=2 cellspacing=5 cellpadding=5>
<tr>Execution</tr>
<tr><TD>

<?
echo $valide;
echo $mot;
echo "valider est $valide et nom est $mot";

if (isset($valide))

echo "Bonjour $mot";

else
echo "<FORM ACTION=\"testtf.php\" METHOD=\"POST\">
Quel est votre nom ? <BR>
<input type=\"text\" name=\"mot\" value=\"\">
<P>
<input type=\"submit\" NAME=\"valide\" value=\"valider\">
<INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Annuler\">

</form>
";
?>
</TD></TR></TABLE>
</html>
Au secours, je deviens fou !

3 réponses

Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
92
Salut salut,

Tu fais un envoi vers testtf.php (lui-même) avec la méthode post, donc dans ton test sur la variable $valide tu devrais plutôt tester :
...
if (isset($_POST['valide'])){

echo "Bonjour ".$_POST['mot'];
}
...

Messages postés
3
Date d'inscription
dimanche 7 avril 2013
Statut
Membre
Dernière intervention
8 avril 2013

bonsoir kyser soze,
Tout d'abord un grand merci car tu m'as bien aidé.
Si ce n'est pas trop abusé, j'ai une dernière question : y a t'il un moyen de mettre le contenu de la variable mot dans un champ du formulaire ?
Voici ci-dessous à présent mon code suite à ton conseil (merci de ne pas chercher de sens à la logique fonctionnelle, c'est juste pour faire un essai).

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE></TITLE>
</HEAD>

<body>
<TABLE width="75%" border=2 cellspacing=5 cellpadding=5>
<tr>Execution</tr>
<tr><TD>

<?

if (isset($_POST['valide']))
{
echo "Bonjour ".$_POST['mot'];
echo "<FORM ACTION=\"testtf2.php\" METHOD=\"POST\">
Quel est votre nom ? <BR>
<input type=\"text\" name=\"mot\" value=\"comment inclure ici la variable mot\">
<P>
<input type=\"submit\" NAME=\"valide\" value=\"valider\">
<INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Annuler\">
</form>
";

}

else
echo "<FORM ACTION=\"testtf2.php\" METHOD=\"POST\">
Quel est votre nom ? <BR>
<input type=\"text\" name=\"mot\" value=\"\">
<P>
<input type=\"submit\" NAME=\"valide\" value=\"valider\">
<INPUT TYPE=\"reset\" NAME=\"reset\" VALUE=\"Annuler\">
</form>
";
?>
</TD></TR></TABLE>
</html>
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
92
Tu n'es pas loin du tout, tu l'utilise dans le :
echo "Bonjour ".$_POST['mot'];

Il suffit d'insérer la variable $_POST['mot'] dans le input :
...
<input type=\"text\" name=\"mot\" value='".$_POST['mot']."'>
...
Un grand merci kyszer soze.

ça marche et c'super. Je commençais à devenir fou!

Bonne journée,
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
92
C'est avec plaisir ;) .
Passe le poste en résolu please !