comment faire un sous-formulaire en PHP ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : comment faire un sous-formulaire en PHP ?

par pjl » 03 févr. 2006, 00:33

Jette un oeil du coté d'Ajax. Ca devrait résoudre ton problème.

par didgar » 02 févr. 2006, 13:15

Ok, j'ai déjà de quoi m'occuper avec ça, merci beaucoup.
Francis
Y'a pa'd'koi ;-)

A+

Didier

par francisb44 » 02 févr. 2006, 13:09

Ok, j'ai déjà de quoi m'occuper avec ça, merci beaucoup.
Francis

par didgar » 02 févr. 2006, 13:04

Merci Didier.

:?: Si je te comprends bien, il faut réaliser la saisie des machines indépendamment de la saisie des membres. Dans mon menu principal, je dois donc prévoir par exemple un bouton "saisie des adhérents" et un autre "saisie des machines". je t'ai bien compris ?
5/5 ! c'est comme ça que je ferais ! Maintenant, d'autres ont peut-être de meilleures soluces ...

N'hésites pas si tu as des questions.

A+

Didier

par francisb44 » 02 févr. 2006, 12:50

Merci Didier.

:?: Si je te comprends bien, il faut réaliser la saisie des machines indépendamment de la saisie des membres. Dans mon menu principal, je dois donc prévoir par exemple un bouton "saisie des adhérents" et un autre "saisie des machines". C'est bien ça ?
J'étais parti dans l'idée que la saisie de la machine se faisait en même temps (plus pratique pour l'utilisateur, mais compliqué apparemment :wink: ).

par didgar » 02 févr. 2006, 12:03

Salut !
Merci Didgar pour cette réponse rapide. Je n'avais pas pensé à créer une table des marques, bonne idée.
L'avantage c'est d'éviter la redondance et aussi les erreurs du genre Honda et honda ou même HONDA 3 fois la même avec des orthographes différente ( désolé pour le choix de la marque les motos c'est pas trop mon truc ;-) )
Donc si je te comprends bien :
- je ne peux pas faire la saisie des adhérents et de leur(s) éventuelle(s) machine(s) dans la même page. Il faut déjà que les autres données concernant l'adhérent soient saisies puis validées.
Si bien sûr ! Le pb, et tu le soulignes toi-même, c'est que le nbre de machine par adhérent est inconnu. L'un en aura 3 et l'autre plusieurs dizaines ! Comment faire un form correct dans ce cas ? La solution c'est de séparer l'enregistrement du membre et l'enregistrement de sa (ses ) machine(s). Enfin je crois !
- Une fois la validation de cette première page effectuée, j'envoie une autre page dans laquelle je récapitule les infos et où je mets le second form.
- Dans ce cas, comment boucler sur ce second form jusqu'à ce que toutes les machines de l'adhérent aient été saisies (ce sont des motos de collection, certains adhérents sont susceptibles d'en avoir plusieurs dizaines) ? Tester par exemple que le champ "marque" aie été saisi lors de la validation et si ce champ est vide, j'en déduis que la saisie des motos est finie et je sors vers la page d'accueil ?
Oula ! Pas la peine de se compliquer la vie !!!
Etape 1 -> form d'enregistrement de membre -> validation -> enregistrement dans la table membre et c'est tout !

Etape 2 -> form d'enregistrement de machine -> validation -> enregistrement d'une ligne dans la table machine avec un champ genre id_membre qui te permet de savoir à quel membre est cette machine. Cet id_membre est récupéré de la table membre. En fait dans le form2 il te faut une liste déroulante avec comme value l'id_membre et comme texte le nom du membre. Même principe pour les marques d'ailleurs

Le membre a plusieurs bécanes ? Pas de prob ! Tu recommences à l'étape 2 autant de fois qu'il a de machine.

Le seul soucis que tu vas avoir c'est que s'il y a 150 membres, tu auras une liste déroulante vachement longue. Auquel cas, il te faut faire un bout de prog comme il y a sur ce forum quand on veut envoyer un MP. C'est à dire une recherche du membre sur les x premiers caractères de son pseudo. Ca se programme pas mal, je l'ai fais pour une messagerie interne d'un projet perso sur lequel je bosse.
Reste la réalisation, j'ai quelques notions de base en php et mysql mais j'aurai probablement des questions. Jusqu'à présent j'ai généré le code grâce aux fonctions "serveur" de Dreamweaver mais là je pense qu'il va falloir plonger dans le code... :(
Pose tes questions ... et oublie dreamweaver. Le code généré est ... imbuvable enfin c'est mon avis ;-)

A+

Didier

par francisb44 » 02 févr. 2006, 11:19

Merci Didgar pour cette réponse rapide. Je n'avais pas pensé à créer une table des marques, bonne idée.
Donc si je te comprends bien :
- je ne peux pas faire la saisie des adhérents et de leur(s) éventuelle(s) machine(s) dans la même page. Il faut déjà que les autres données concernant l'adhérent soient saisies puis validées.
- Une fois la validation de cette première page effectuée, j'envoie une autre page dans laquelle je récapitule les infos et où je mets le second form.
- Dans ce cas, comment boucler sur ce second form jusqu'à ce que toutes les machines de l'adhérent aient été saisies (ce sont des motos de collection, certains adhérents sont susceptibles d'en avoir plusieurs dizaines) ? Tester par exemple que le champ "marque" aie été saisi lors de la validation et si ce champ est vide, j'en déduis que la saisie des motos est finie et je sors vers la page d'accueil ?

Reste la réalisation, j'ai quelques notions de base en php et mysql mais j'aurai probablement des questions. Jusqu'à présent j'ai généré le code grâce aux fonctions "serveur" de Dreamweaver mais là je pense qu'il va falloir plonger dans le code... :(

par didgar » 02 févr. 2006, 10:57

Salut !

Apparemment tu as eu la bonne démarche ! C'est à dire une table machine qui doit avoir ce genre du structure

id_machine | id_adherent | id_marque_machine | nom_machine etc ...
1 | 12 | 1 | toto
2 | 12 | 5 | tata
3 | 12 | 1 | titi

Si tu as un truc comme ça c'est bien ;-)

Pour résoudre ton pb, moi je séparerais la problématique !
D'un côté un form qui me permet d'attaquer la table adherent et ensuite un form qui te permet d'ajouter une machine x fois pour un adhérent dans la table machine.

En gros ton form aurait un menu déroulant avec comme value l'id du membre et comme texte affiché son nom puis un autre menu déroulant avec id de la marque et comme texte affiché le nom de la marque ( ça c'est si tu as fais une table marque à part pour éviter de te taper les marques à chaque fois ) et enfin un champ de saisie ou autre pour renseigner le modèle etc ....

C'était ça la question ?

Chuis pas sûr d'être hyper clair la !

A+

Didier

comment faire un sous-formulaire en PHP ?

par francisb44 » 02 févr. 2006, 10:18

Bonjour à tous,
J'essaie de faire une petite application de gestion pour le club de motos dont je m'occupe. Avec Dreamweaver j'ai fait un formulaire de saisie des nouveaux adhérents avec leurs principales caractéristiques (nom, adresse, etc ...) qui alimente une table "adhérents" dans une base mysql. Tout ça marche bien, là où ça se complique c'est que j'ai aussi besoin de saisir pour chaque adhérent sa ou ses motos (marque, modèle, etc ...), destinées cette fois à alimenter une table "machines" et je ne sais pas trop comment faire mon formulaire de façon à pouvoir saisir un nombre quelconque de machines pour chaque adhérent.
Pour lier les tables, j'ai fait en sorte que l'id de la table "adherents" soit clé secondaire de la table "machines" mais je bloque sur la présentation du formulaire.
Si vcus avez des idées sur ce problème que j'imagine simple pour un pro, je suis preneur.
Avec Access, il existe la notion de sous formulaire, existe-t-il quelque chose de similaire en php ?
Merci pour vos réponses,
Francis