Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR > HTML_quickform
HTML_quickform Forum d'entraide pour la bibliothèque HTML_quickform du framework PEAR, permettant de manipuler des formulaires en PHP. Avant de poster -> tutoriels QuickForm
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2008, 09h41   #1
Candidat au titre de Membre du Club
 
Homme julien d'agostino
Inscription : mars 2008
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme julien d'agostino
Localisation : France

Informations forums :
Inscription : mars 2008
Messages : 9
Points : 13
Points : 13
Par défaut [QuickForm] Construction d'un formulaire

Bonjour,
Je fais appel à vous car j'ai un souci :
je vous explique en gros se que je veux faire :
j'aimerai creer un formulaire avec pear et l'utilisateur à donc la possiblité de remplir les cases du formulaires, puis lorsqu'il clic sur le bonton valider celui ci l'amene sur une page de recapitulation où il a la possibilité de cliquer sur non pour modifier les donnée saisi ou sur oui pour lancer la requête d'insertion. Le probleme c'est que la requête est envoyé dès le premier appuis sur le bonton valider...
Voici un extrait du code :
Code :
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
$form =new HTML_QuickForm('frmTest', 'post');
 
    $form->addElement('text', 'Pseudo', 'Votre pseudo : '); // addElement permet de rajouter une ligne d formulaire comprenant le texte et la case destiné à obtenir les infos de l'utilisateurs
    $form->addRule('Pseudo', MSGERR_PSEUDO, 'required', '', 'client');//addRules permet d'ajouter une nouvelle régle pour la validation d'une ligne
 
 
$form->applyFilter('Nom','trim') ;
    $form->applyFilter('Pseudo','trim') ;
    $form->setRequiredNote('<span style="color: #ff0000">*</span> = champs obligatoires');
    $form->setJsWarnings('Erreur de saisie','Veuillez corriger');
    $form->addElement('submit', 'bouton_valider', 'Envoyer');//création d'un bouton du type validation
    $form->addElement('reset', 'bouton_clear', 'Effacer');//création d'un bouton de type réinitialisation
 
if ($form->validate()) { //si tous les régles du formulaires sont respectés, alors on lance la requête d'insertion des données dans la table
	  //$form->freeze();
 
	  include 'recapCreerCompte.php';//contient les echo afin d'afficher les valeurs contenu dans les post du formulaires
 
	  $form2 = new HTML_Quickform('test');
 
	  echo 'Valider les informations? </br>';
 
	  $form2->addElement('submit', 'bouton_valider2', 'oui');//création d'un bouton du type validation
	  $form2->addElement('submit', 'bouton_modifier', 'non');//création d'un bouton du type validation
	 if ($form2->validate()){ 
	   creaCompte();
	   }
 
 
	  $form2->display();	
}
    else {
        $form->display();
   }
Merci d'avance pour votre aide.
Cordialement,
robertjul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2008, 22h05   #2
Candidat au titre de Membre du Club
 
Homme julien d'agostino
Inscription : mars 2008
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme julien d'agostino
Localisation : France

Informations forums :
Inscription : mars 2008
Messages : 9
Points : 13
Points : 13
Voila la nouvelle version : cette fois ci la requête ne part plus :
Code :
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
 
    $form =new HTML_QuickForm('frmTest', 'post','','',NULL,true);
 
    $form->addElement('text', 'Pseudo', 'Votre pseudo : '); // addElement permet de rajouter une ligne d formulaire comprenant le texte et la case destiné à obtenir les infos de l'utilisateurs
    $form->addRule('Pseudo', MSGERR_PSEUDO, 'required', '', 'client');//addRules permet d'ajouter une nouvelle régle pour la validation d'une ligne
	//required permet de rendre la ligne obligatoire
 
    $form->addElement('password', 'MDP', 'Votre mot de passe : ');
    $form->addRule('MDP', MSGERR_MDP, 'required', '', 'client');
 
 
    $form->addElement('password', 'VerifMDP', 'Ressaisissez votre mot de passe : ');
    $form->addRule('VerifMDP', MSGERR_VerifMDP, 'required', '', 'client');
    $form->addRule(array('MDP', 'VerifMDP'), MSGERR_VerifMDP, 'compare', null, 'client');//compare permet de comparer les deux lignes donnée en premier paramètre de addRule
 
    $form->addElement('text', 'nom', 'Votre nom : ');
    $form->addRule('nom', MSGERR_NOM, 'required', '', 'client');
 
    $form->addElement('text', 'prenom', 'Votre prenom : ');
    $form->addRule('prenom', MSGERR_PRENOM, 'required', '', 'client');
 
    $form->addElement('text', 'adresse', 'Votre adresse : ');
 
    $form->addElement('text', 'mail', 'Votre adresse mail : ');
    $form->addRule('mail', MSGERR_MAIL, 'required', '', 'client');
    $form->addRule('mail', MSGERR_MAILINVALIDE, 'email', '', 'client');//email permet la vérification de la validée de l'adresse mail saisie
 
    $form->addElement('text', 'numTel', 'Votre numéro de téléphone : ');
    if(!empty($_POST['numTel'])){
		//$form->addRule('numTel', MSGERR_TEL, 'regex','/^[0-9]{10}$/');//vérifié si l'utilisateur saisi bien 10 numéros
    }
    $numTel=$form->exportValue('numTel');
 
    $form->addElement('text', 'labo', 'Votre laboratoire : ');
    $form->addRule('labo', MSGERR_LABO, 'required', '', 'client');
 
 
    $form->addElement('text', 'departement', 'Votre département : ');
    $form->addRule('departement', MSGERR_DEP, 'required', '', 'client');
    $departement=$form->exportValue('departement');
 
    $form->addElement('text', 'groupe', 'Votre groupe : ');
    $form->addRule('groupe', MSGERR_GROUPE, 'required', '', 'client');
    $groupe=$form->exportValue('groupe');
 
    $form->addElement('text', 'equipe', 'Votre équipe : ');
    $form->addRule('equipe', MSGERR_EQUIPE, 'required', '', 'client');
    $equipe=$form->exportValue('equipe');
 
    $form->addElement('text', 'fonction', 'Votre fonction : ');
    $form->addRule('fonction', MSGERR_FCT, 'required', '', 'client');
    $fonction=$form->exportValue('fonction');
 
    $form->applyFilter('Nom','trim') ;
    $form->applyFilter('Pseudo','trim') ;
    $form->setRequiredNote('<span style="color: #ff0000">*</span> = champs obligatoires');
    $form->setJsWarnings('Erreur de saisie','Veuillez corriger');
    $form->addElement('submit', 'bouton_valider', 'Envoyer');//création d'un bouton du type validation
    $form->addElement('reset', 'bouton_clear', 'Effacer');//création d'un bouton de type réinitialisation
    //$form->freeze();
 
 
    if ($form->validate()) { //si tous les régles du formulaires sont respectés, alors on lance la requête d'insertion des données dans la table
 
	  //include 'recapCreerCompte.php';
	  echo "pseudo : ".$_POST["Pseudo"]."<br/>";
	  $Pseudo=$form->exportValue($_POST["Pseudo"]);
	  echo "nom : ".$_POST["nom"]."<br/>";
	  $nom=$form->exportValue('nom');
	  echo "prènom : ".$_POST["prenom"]."<br/>";
	  $prenom=$form->exportValue('prenom');
	  echo "adresse : ".$_POST["adresse"]."<br/>";
	  $adresse=$form->exportValue('adresse');
	  echo "mail : ".$_POST["mail"]."<br/>";
	  $mail=$form->exportValue('mail');
	  echo "numéro de telephone : ".$_POST["numTel"]."<br/>";
	  $numTel=$form->exportValue('numTel');
	  echo " labo: ".$_POST["labo"]."<br/>";
	  $labo=$form->exportValue('labo');
	  echo "departement : ".$_POST["departement"]."<br/>";
	  $departement=$form->exportValue('departement');
	  echo "groupe : ".$_POST["groupe"]."<br/>";
	  $groupe=$form->exportValue('groupe');
	  echo "équipe : ".$_POST["equipe"]."<br/>";
	  $equipe=$form->exportValue('equipe');
	  echo "fonction : ".$_POST["fonction"]."<br/>";
	  $fonction=$form->exportValue('fonction');
	  $MDP=$form->exportValue('MDP');
	  $VerifMDP=$form->exportValue('VerifMDP');
 
	  $form2 = new HTML_Quickform('test','post','','',NULL,true);
 
	  echo 'Valider les informations? </br>';
 
	  $form2->addElement('submit', 'bouton_valider2', 'oui');//création d'un bouton du type validation
	  $form2->addElement('submit', 'bouton_modifier', 'non');//création d'un bouton du type validation
	  $form2->display();
 
	 if ($form2->isSubmitted('oui')){ 
	   	$requete = 'INSERT INTO creerCompte (nom,prenom,adresse,mail,fonction,numTel,labo,departement,groupe,equipe,pseudo,mdp)
			VALUES ("'.$_POST['nom'].'","'.$_POST['prenom'].'","'.$_POST['adresse'].'","'.$_POST['mail'].'","'.$_POST['fonction'].'","'.$_POST['numTel'].'","'.$_POST['labo'].'","'.$_POST['departement'].'","'.$_POST['groupe'].'","'.$_POST['equipe'].'","'.$_POST['Pseudo'].'","'.$_POST['MDP'].'")';
			//exécution de la requête
			$req = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
			echo "inscription réussi! <br/>";
	   }
	 elseif($form2->isSubmitted('non')) {
	 $form->display();
	}
 
}
    else {
        $form->display();
   }
?>
Voila en espérant que vous pourrez m'aider.
robertjul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 00h23   #3
Invité de passage
 
Inscription : juillet 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 15
Points : 3
Points : 3
j'ai été a ce type de problématique : création d'une prévisualisation sur une appli carte de voeux électronique... j'ai utilisé HTML_QuickForm_Controller
http://www.developpez.net/forums/sho...74#post3169874
ça a marché nickel ! j'espère que ça t'aideras...
Ni;co) est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h38.


 
 
 
 
Partenaires

Hébergement Web