Page 1 sur 1

Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 12:59
par ghost4life
bonjour, je suis novice en php ^^. je souhaite créer un formulaire pour mon site de vente de menuiserie. dont voici l'adresse: http://kp.piotrowski-batiment.com/
Jusque la j'utilise un formulaire généré par http://www.ge-net.ch qui est très bon pour un simple formulaire, or je vends des menuiseries, ce que je voudrais c'est proposé un formulaire, avec 3 cases, définies comme ci dessous:
- nombre de portes:
- nombres de fenêtres:
- nombre de portes fenêtres:
l'internaute rempli avec ses chiffres, il valide et arrive sur une page avec x champs "largeur" - "hauteur", "nombre de vantaux", "chassis fixe" enfin x sous formulaire pour chaques menuiseries. la je suis bloqué :s je sais pas du tout comment faire. d'avance merci si quelqu'un pouvait m'aider, je suis perdu. Excellente année 2010 à tous néanmoins ;)

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 13:11
par ghost4life
ou alors faire l'inverse ^^ désolé je sais pas trop a quoi ca devrait ressembler.
Ex il y a un formulaire et ca donne.
Larg:
hauteur:
...
...
...
...
type: - Porte
- Fenêtre
- Porte fenêtre
Nombre:
Et il clique sur ajouter et ca ajoute au message de demande de devis.
et une fois fini il clic sur un bouton terminé avec un apercu et s'il est satisfait il clic sur envoyer.

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 13:41
par Nours312
pour reprendre ton idée :

une fois arrivé sur ta seconde page, tu te retrouves avec un maximum de 3 variable reçus en POST

appelées $_POST['portes'] , $_POST['fenetres'], $_POST['portesFenetres'] pouvant contenir un nombre ... donc pour afficher un formulaire qui leur est dédié, il te suffit de faire une boucle avec un for()

Je fait une fonction pour générer les champs par types de produits, afin que tu puisse ensuite y mettre des éléments particuliers (couleurs, motifs, matieres, ... ou tous autres critères pouvants par ailleurs etre stockés dans une BDD )
function newDoors($num){

return "
  <h3> porte numéro : $num </h3>
  <input type='text' name='doors[$num][width]' id='doors_$num_width' />
  <label for='doors_$num_width'>largeur</label>
  <input type='text' name='doors[$num][height]' id='doors_$num_height' />
  <label for='doors_$num_height'>hauteur</label>
  <input type='text' name='doors[$num][van]' id='doors_$num_van' />
  <label for='doors_$num_van'>nb de vantaux</label>
";
}

// une fois cette fonction déclarée (elle peut etre optimisée, bien évidement !!)

$form = "<form action='...' method='post'>";
for($i = 0; $i<$_POST['portes']; $i++){
  $form .= newDoors($i);
}
// idem avec les fenetres et autres portes-fenêtres


$form .= '<input type="submit" value="envoyer" /></form>';

echo $form ;
et voila !... après la validation de ton formulaire, tu récupèrera un tableau multidimensionnel qui contiendra tous tes éléments !...

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 13:44
par ghost4life
bon je vais potasser tout ca. merci pour la rapidité en tout cas, et excellente continuation ;)

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 14:03
par ghost4life
Well, je n'y arrives pas trop en fait.

j'ai fait ceci dans un premier fichier nomé formtest.php

Code : Tout sélectionner

<html> <head> </head> <body> <FORM Method="POST" Action="formtest2.php"> Nombre de Portes: <INPUT type=text size=2 name=num><BR> <INPUT type=submit value=Envoyer> <INPUT type=hidden name=afficher value=ok> </FORM> </body> </html>
Et dans l'autre formtest2.php j'ai repris ton code

Code : Tout sélectionner

<?php function newDoors($num){ return " <h3> porte numéro : $num </h3> <input type='text' name='doors[$num][width]' id='doors_$num_width' /> <label for='doors_$num_width'>largeur</label> <input type='text' name='doors[$num][height]' id='doors_$num_height' /> <label for='doors_$num_height'>hauteur</label> <input type='text' name='doors[$num][van]' id='doors_$num_van' /> <label for='doors_$num_van'>nb de vantaux</label> "; } // une fois cette fonction déclarée (elle peut etre optimisée, bien évidement !!) $form = "<form action='...' method='post'>"; for($i = 0; $i<$_POST['portes']; $i++){ $form .= newDoors($i); } // idem avec les fenetres et autres portes-fenêtres $form .= '<input type="submit" value="envoyer" /></form>'; echo $form ; ?>
et puis ca ne fonctionne pas trop :s http://www.piotrowski-batiment.com/formtest.php

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 14:19
par Nours312
Ben ...

il n'est pas bo ton code :D ....

mais cela dit, en utilisant $_POST['porte'] je considère que ton champ contenant le nombre de portes demandées se nommait "porte" ...
<html>
<head>
</head>
<body>
<FORM method="POST" Action="formtest2.php">



Nombre de Portes:       <INPUT type="text" size="2" name="portes" /><BR />

      <INPUT type="submit" value="Envoyer" />

      <INPUT type="hidden" name="afficher" value="ok" />

</FORM>
</body>
</html>

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 14:23
par ghost4life
ca fonctionne nikel/niquel désolé, j'ai jamais su l'écrire ce mot la ^^. ben merci en tous cas.

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 14:49
par ghost4life
j'ai encore un soucis ^^ ca m'aurait étonner que j'arrive a tous faire.
une fois le formulaire rempli je l'envoi faire un formtest3.php
et la j'utilise ceci pour récupérer les données dans un tableau:

Code : Tout sélectionner

<HTML> <HEAD> <TITLE>Affichage des résultats</TITLE> <BODY> <?php echo $num; echo '<br>' echo $doors_$num_width; echo '<br>'; echo doors_$num_height; echo '<br>' echo $doors_$num_van; ?> </BODY> </HTML>
mais rien n'y fait. la fonction registered_global est activée.

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 17:07
par ghost4life
quelqu'un sait? ^^

Re: Formulaire et "sous formulaire"

Posté : 08 janv. 2010, 17:32
par ghost4life
Plus précisément, voici ce que je voudrais faire, sur un site concurrent ^^

http://www.polognefenetres.com/devis.html

mais la je bloque :s