Bonjour,
j'ai un formulaire pour une inscription en ligne avec le contrôle des champs obligatoires (nom, mail...)
si les gens ne remplissent pas ces champs il s'affichent en rouge et l'utilisateur doit resaisir...
dans le cas où les champs sont bien renseignés il sera dirigé vers une page : "OK VOUS ETES ENREGISTRES"
mais ce n'est pas le cas meme si les champs sont renseignés...
voici mon code de mes 2 pages...
merci
Pierre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89 <?php class testTools { var $errTab; //Tableau contenant les erreurs détectées var $Count; //Variable contenant le nombre d'erreurs détectées var $fstyle; //Nom du style CSS par défaut quand il y a une erreur. //Constructeur de la classe ici on passe en paramêtre le nom du style d'erreur par defaut. function testTools($fstyle) { $this->Count=0; $this->fstyle=$fstyle; } //Fonction qui permet de securiser un champ texte de manière à pouvoir être stocké dans une base de données. //Si vous voulez autoriser les tag HTML alors il faut mettre la ligne du strip_tags en commentaire. function secure($var) { $vars=$var; if (!is_numeric($var)) { $vars=htmlentities($vars); $vars=strip_tags($vars); } return $vars; } //Fonction principale de la classe qui ajoute un nom de style CSS à un nom de champ de formulaire. function add($title,$style) { $this->errTab[0][$this->Count]=$title; $this->errTab[1][$this->Count++]=$style; } //Fonction qui permet d'effectuer un test sur un champ de type EMAIL. function mailtest($var,$name) { if (!eregi("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\\.)+[a-z]{2}([zmuvtg]|fo|me)?$",$var)) $this->add($name,$this->fstyle); } //Fonction qui permet d'effectuer un test sur un champ de type INT. function inttest($var,$name) { if (($var==0)||(!is_numeric($var))) $this->add($name,$this->fstyle); } //Fonction qui permet d'effectuer un test sur un champ de type TIME. function timetest($varh,$varm,$vars,$name) { if ((($varh>24)||($varm>59)||($vars>59))||(($varh<0)||($varm<0)||($vars<0))) $this->add($name,$this->fstyle); } //Fonction qui permet d'effectuer un test sur un champ de type URL. function urltest($var,$name) { if ((substr($var,0,4)!="www.")&&(substr($var,0,7)!="http://")) $this->add($name,$this->fstyle); } //Fonction qui permet d'effectuer un test sur un champ de type STRING. function stringtest($var,$name) { if (strlen(trim($var))==0) $this->add($name,$this->fstyle); } //Fonction qui permet d'effectuer un test sur un champ de type DATE. function datetest($var1,$var2,$var3,$name) { if (!checkdate($var2,$var1,$var3)) $this->add($name,$this->fstyle); } //Fonction qui recherche un style CSS associé à un champ donné. function fieldError($name,$default) { if (is_array($this->errTab[0])) foreach($this->errTab[0] as $key => $value) { if ($value==$name) return $this->errTab[1][$key]; } return $default; } } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 <?php include ("validator.php"); $test = new testTools("fielderror"); if ($_POST["f"]==1) { $formPrenom = $test->secure($_POST["Prenom"]); $formNom = $test->secure($_POST["Nom"]); $test->stringtest($formNom,"Nom"); $formSociete = $test->secure($_POST["Societe"]); $test->stringtest($formSociete,"Societe"); $formFonction = $test->secure($_POST["Fonction"]); $formAdresse = $test->secure($_POST["Adresse"]); $formTelephone = $test->secure($_POST["Telephone"]); $test->mailtest($_POST["Mail"],"Mail"); $formCommentaires = $test->secure($_POST["Commentaires"]); $test->stringtest($formCommentaires,"Commentaires"); if ($test->Count==0) { //Traitement lorsque tous les tests sont passés avec succès header("location: envoiOk.php"); } } ?> <html> <head> <title>Test de formulaire</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> .fielderror { color: red; } .fieldreq { color: blue;} </style> </head> <body> <form action="form.php" method="post" name="Contact" id="Contact"> Veuillez s'il vous plait remplir les champs suivants: <br><br> <?php if ($_POST["f"]==1) echo "Les champs en rouge doivent être remplis!"; ?> <strong class="<?=$test->fieldError("Nom","fieldreq")?>">Nom:</strong> <br> <input name="Nom" type="text" class="textbox" size="50" value="<?=$formNom?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Prenom","fieldreq")?>">Prénom</strong>: <br> <input name="Prenom" type="text" class="textbox" id="Boite" size="50" value="<?=$formPrenom?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Societe","fieldreq")?>">Société</strong>: <br> <input name="Societe" type="text" class="textbox" id="Boite" size="50" value="<?=$formSociete?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Fonction","fieldreq")?>">Fonction:</strong> <br> <input name="Fonction" type="text" class="textbox" id="Fonction" size="50" value="<?=$formFonction?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Adresse","fieldreq")?>">Adresse:</strong> <br> <input name="Adresse" type="text" class="textbox" id="Fonction" size="50" value="<?=$formAdresse?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Telephone","fieldreq")?>">Téléphone</strong> <br> <input name="Telephone" type="text" class="textbox" id="Fonction" size="50" value="<?=$formTelephone?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Mail","fieldreq")?>">Mail:</strong> <br> <input name="Mail" type="text" class="textbox" id="Mail" size="50" value="<?=$_POST["Mail"]?>" maxlength="50"> <br> <br> <strong class="<?=$test->fieldError("Commentaires","fieldreq")?>">Commentaires: </strong><br> <textarea name="Commentaires" cols="50" rows="10" class="textbox" id="Commentaires"><?=$formCommentaires?></textarea> <br> <br> <input name="Submit2" type="submit" value="Envoyer"> <input name="Submit2" type="reset" value="Annuler"> <input type="hidden" name="f" value="1"> </form> </body> </html>
Partager