formulaire dans un formulaire, est ce possible ?

Eléphant du PHP | 120 Messages

02 mai 2006, 17:43

slt a tous,
je voudrai savoir si il serait possible d'integrer un formulaire dans un autre. en faite je dois avoir une page avec 2 listes deroulantes, le contenu de la seconde depend de la selection de la 1ere comme sur les sites de vente de vehicules qui demandent la marque puis le modele. mais il y a aussi des champs de texte dont je souhaite conserver les valeurs. Il me semble que pour ce faire on recharge la page par envoi en methode POST lors de la modif de la 1ere liste, mais si je me trompe corrigez moi svp. et si je me trompe pas, dans ce cas j'aurais besoin d'integrer un formulaire dans un autre.
merci

Mammouth du PHP | 19672 Messages

02 mai 2006, 18:13

La réponse pour l'imbrication : Non, c'est interdit en (X)HTML

Pour les listes liées, il y a un tuto spécialement fait pour ça dans la FAQ
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 120 Messages

10 mai 2006, 09:07

merci pour le lien cyrano.
Ce tuto est trés interessant, d'ailleur une question qui est posée dessus et qui m'interesse bcp, qui est comment peut on envoyer les données d'un tel formulaire (qui fait appel a lui meme me semble t il) a une autre page php ? la réponse donnée à cette question est l'enregistrement des variables dans des superglobales, ma question a moi est comment fait on pour appeler une autre page php apres avoir enregistré les variables dans les superglobales ?
merci de vos reponses

Mammouth du PHP | 19672 Messages

10 mai 2006, 10:45

l'autre page, en général la page de traitement est indiquée dans l'attribut "action" de la balise <form> et ta page de traitement récupère les données dans les super-globales $_POST ou $_GET selon la méthode indiquée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 120 Messages

10 mai 2006, 11:21

mais dans l'attibut 'action' se trouve la page actuelle non ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 mai 2006, 11:51

C'est pas obligé.

Si tu mets le nom d'une autre page, c'est dans cette page là que tu va obtenir les valeurs
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 120 Messages

10 mai 2006, 15:25

ok, impecc !!! j'y suis arrivé. j'ai procédé comme suit :

fichier "formulaire.php" :

un 1er formulaire qui fait appel a un fichier de controle et qui envoi l'info de la 1ere liste deroulante.
un 2nd formulaire composé d'une liste déroulante et d'un bouton, qui n'affiche rien si rien n'est recu du fichier de controle, et qui affiche les elements envoyé par le fichier de controle si celui les envoi. par clic sur bouton les infos de cette meme liste deroulante sont envoyés au fichier de controle.

les envois se font par methode post.

fichier "controle.php" :
deux test :
si liste_deroulante1 existe dans super_globalePOST alors
=>récupération de la valeur de la liste déroulante,
=>requete sur table pour récuperer les infos a afficher dans la liste deroulante 2
=>mise en memoire dans la superglobale SESSION
=>rappel au fichier "formulaire.php

sinon si liste_deroulante2 existe dans superglobalePOST alors
=>récupération de la valeur de celle ci
=>traitement adequat.

j'espere que j'ai été assez clair dans mes explications. si vous trouvez que c'est pas bon merci de bien vouloir me le signaler. en tt k ca marche bien donc je pense que c'est correcte :D

merci pour votre aide et a+.