Validation de champs d'un formulaire avec php

Résolu/Fermé
nomadus
Messages postés
3
Date d'inscription
dimanche 7 avril 2013
Statut
Membre
Dernière intervention
8 avril 2013
- 8 avril 2013 à 16:42
kyser soze
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
- 15 avril 2013 à 13:10
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

kyser soze
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
97
8 avril 2013 à 16:50
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'];
}
...

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

8 avril 2013 à 23:20
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>
0
kyser soze
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
97
Modifié par kyser soze le 10/04/2013 à 09:55
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']."'>
...
0
Un grand merci kyszer soze.

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

Bonne journée,
0
kyser soze
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
97
15 avril 2013 à 13:10
C'est avec plaisir ;) .
Passe le poste en résolu please !
0