Insertion de plusieurs formulaires en BDD
abirgl
Messages postés
147
Statut
Membre
-
nagaD.scar Messages postés 4500 Statut Membre -
nagaD.scar Messages postés 4500 Statut Membre -
Bonjour,
Comment je peux récupérer le contenu de plusieurs formulaires pour les inserer en BDD ? Est ce que les éléments d'un formulaire sont visible en déhors de ceci ? S'il vous plait j'ai besoin de votre réponse et non de votre suppression de mon post , lorsque je demande votre aide c que j'ai pas trouvé une réponse même si la question était posé avant,
Merci d'être compréhensif
Comment je peux récupérer le contenu de plusieurs formulaires pour les inserer en BDD ? Est ce que les éléments d'un formulaire sont visible en déhors de ceci ? S'il vous plait j'ai besoin de votre réponse et non de votre suppression de mon post , lorsque je demande votre aide c que j'ai pas trouvé une réponse même si la question était posé avant,
Merci d'être compréhensif
A voir également:
- Insertion de plusieurs formulaires en BDD
- Formulaire en ligne de meta - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion video powerpoint - Guide
- Insertion filigrane word - Guide
1 réponse
Salut,
Si ton post est supprimé c'est très probablement du à sa formulation ...
Quand tu fais une demande essaie au minimum d'expliquer le contexte, ce qui est en place etc.
Dans le cas du dev donc: du code. Dans ton cas: le code correspondant aux formulaires, le code qui est censé traiter ces formulaires une fois le/les submit(s) fait.
Aussi, monter que tu as un minimum essayé de faire quelque chose ou au moins recherché des solutions donnera aux helpers un peu plus l envie de t aider.
Bref reformule proprement ta demande en donnant des informations spécifiques, et tu auras très probablement de l aide.
naga
Si ton post est supprimé c'est très probablement du à sa formulation ...
Quand tu fais une demande essaie au minimum d'expliquer le contexte, ce qui est en place etc.
Dans le cas du dev donc: du code. Dans ton cas: le code correspondant aux formulaires, le code qui est censé traiter ces formulaires une fois le/les submit(s) fait.
Aussi, monter que tu as un minimum essayé de faire quelque chose ou au moins recherché des solutions donnera aux helpers un peu plus l envie de t aider.
Bref reformule proprement ta demande en donnant des informations spécifiques, et tu auras très probablement de l aide.
naga
j'ai déjà expliqué mon besoin malgré ça mon post était supprimé (motif de suppression: Le message était posté en double dans le forum),malgré que j'ai pas trouvé une solution pour ce problème même si c'était déjà posté,
Bref, je ré-explique :
Dans ma page, j'ai 5 formulaires, chaque formulaire est associé à une action ( page php qui me permet de sauvegarder le contenu du formulaire dans une table de ma BDD) ,
Le dernier formulaire contient un bouton de validation, ce bouton doit sauvegarder tous les éléments de la page dans une autre table de ma base (il doit sauvegarder les éléments des autres formulaire aussi ), mon problème est : comment récupérer le contenu des autres formulaires pour pouvoir sauvegarder le tout ?
(PS: Je peux pas mettre tous les éléments de ma page dans un seul formulaire car j'ai plusieurs submit et chaque submit doit exécuter une page php différente)
Voici mes formulaires:
Premier formulaire :
Mon deuxième formulaire :
3 ème formulaire:
4ème formulaire:
dernier formulaire (ceci est le formulaire qui contient le bouton valider et qui doit me permettre de sauvegarder le contenu de toute ma page )
Maintenant je vous montre mon effort et comment j'ai raisonné pour effectuer la validation:
en cliquant sur le bouton valider, les messages d'erreurs suivants s'affichent:
Undefined index heuredebut ...
Undefined index heurefin ...
Je pense que l'heure début n'est pas visible en dehors du formulaire fhd , de même pour le reste ...
J'espère que j'ai pu clarifié mon problème et que vous pourrez m'aider et je vous pourrez m'aider
Si j ai bien compris, tous les formulaires vont effectuer de submit standard (donc uniquement ce que contient le formulaire), sauf pour le dernier qui va devoir poster l integralité des formulaires (?).
Et donc, ce qu'il te faudra faire, c'est modifier le dernier formulaire de manière à gérer tes données POST en javascript:
<form name="fvalid" method="POST" action=""> <br> <p align="center"> <input type="submit" name="validation" class="btn btn-primary" value="Valider" onclick="if(window.confirm('Voulez-vous vraiment valider ? \n La validation vous empêchera de toute modification ultérieure')) {return true;}else{return false;}"> </p> </form>va devenir:
<div> <br /> <p align="center"> <button type="button" onclick="completePost">Valider</button> </p> </div>Comme tu le vois, j ai assigné une fonction à l evenement onclick. Donc on définit la fonction:
function completePost(){ if(window.confirm('Voulez-vous vraiment valider ? \n La validation vous empêchera de toute modification ultérieure')) { //On crée une form pour simuler un post var form = document.createElement("form_CompletePost"); form.setAttribute("method", "post"); form.setAttribute("action", ""); //ici tu renseignera la page qui recoit //Et dans cette form on rentre tous les elements //POUR CHAQUE ELEMENT A POSTER var hiddenField = document.createElement("input");//On créé un element hiddenField.setAttribute("type", "hidden"); //on cache l element hiddenField.setAttribute("name", "Nom element"); //sera le nom de la colonne dans ta variable $_POST hiddenField.setAttribute("value", "valeur element"); // on donne la valeur de l element form.appendChild(hiddenField); // on ajoute l element à la form à poster //FIN -> soit tu les mets manuellement, soit via un algo, comme tu voudra document.body.appendChild(form);//on insert notre form dans la page en tant que nouveau formulaire form.submit(); //Et donc là ou soumet le formulaire créé }Par contre dans tes différentes form, seul le dernier permet un submit, du coup je ne vois pas trop l interet d avoir différentes form => ca te complique la tâche et tout ce que ca permet concerne la mise en forme (ce qu une div fera tout aussi bien).
Pour aider un peu, tu peux récupérer les info d éléments via un getelementbyid par exemple :
element = document.getElementById('id_element'); </js> et accéder simplement à ses attributs: <code js> element.type; element.name; element.value;naga
le premier formulaire permet un submit à CreerIntervention.php
le deuxième formulaire permet un submit à modifHDeb.php
le 3 ème formulaire permet un submit à modifHFin.php
le 4 ème formulaire permet un submit à InsertionArticles.php
J'ai fait exactement ce que vous m'avez conseillé , j'ai enlevé le bouton valider du formulaire et j'ai juste crée la fonction javascript comme indiquée alors par défaut le bouton valider exécute l'action du premier formulaire (la page CreerIntervention.php), ce qui n'est pas mon besoin
je crois que je dois garder le bouton valider dans un formulaire tout en précisant l'action qu'il doit exécuter, y'a il une autre méthode pour récupérer les éléments des autres formulaires ?
Et encore une fois, sans code j ai pas vraiment moyen de faire quoi que ce soit.
Par contre j'ai ecris une erreur :
var form = document.createElement("form_CompletePost");est à remplacer par
var form = document.createElement("form");Par contre le code JS ne va pas submit le formulaire 1 à cause de l erreur, ca ne fera juste pas de post tout court.
J'ai donc testé :
<script> function completePost(){ if(window.confirm('Voulez-vous vraiment valider ? \n La validation vous empêchera de toute modification ultérieure')) { //On crée une form pour simuler un post var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "res.php"); //ici tu renseignera la page qui recoit var el1 = document.getElementById('info1'); var el2 = document.getElementById('info2'); form.appendChild(el1); form.appendChild(el2); document.body.appendChild(form);//on insert notre form dans la page en tant que nouveau formulaire form.submit(); } } </script> <form name="fvalid" method="POST" action="res.php"> <input type="text" name="validation1" class="info1" id="info1" value="1" /> <button type="submit">Enregistrer</button> </form> <br /> <br /> <form name="fvalid" method="POST" action="res.php"> <input type="text" name="validation2" class="info2" id="info2" value="2" /> <button type="submit">Enregistrer</button> </form> <br /> <br /> <button type="button" onclick="completePost()">Valider</button>avec "res.php" qui contient uniquement:
Et ca fonctionne très bien.
mon fichier validation.php contient juste l'affichage comme vous avez fait :
J'ai fait les alert pour tester s'il récupère l'heuredebut et l'heurefin ou nn et il les affiche correctement mais la page validation.php m'affiche Array([Validation]=>Valider), elle n'affiche pas heuredebut et heurefin :(