Récupération des variables avec méthode post
Résolu/Fermé
gahmed
Messages postés
71
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
12 septembre 2018
-
3 juil. 2012 à 20:31
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 - 6 juil. 2012 à 18:28
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 - 6 juil. 2012 à 18:28
A voir également:
- Récupérer valeur variable powershell
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer message whatsapp - Guide
- Récupérer photo instagram - Guide
- Recuperer mon compte gmail - Guide
3 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
6 juil. 2012 à 13:33
6 juil. 2012 à 13:33
voir commentaires et exemple:
<html> <script language="javascript1.5"> function ajouterLigne() { var tableau = document.getElementById("tableau"); var ligne = tableau.insertRow(-1); var colonne1 = ligne.insertCell(0); colonne1.innerHTML += document.getElementById("lib").value; //la je ne vois pas ccomment ça peut rajouter une ligne ??, il faut rajouter un inpuit var colonne2 = ligne.insertCell(1); colonne2.innerHTML += document.getElementById("pu").value; var colonne3 = ligne.insertCell(2); colonne3.innerHTML += document.getElementById("qte").value; var colonne4 = ligne.insertCell(3); colonne4.innerHTML += colonne2.innerHTML * colonne3.innerHTML ; } </script> <form method="post" action="save.php"> <input type="text" name="lib" id="lib" /> <input type="text" name="pu" id="pu" /> <input type="text" name="qte" id="qte" /> <!-- plutot bizarre ce bouton il affiche Enregitrer alors que sa fonction est d'ajouter une ligne ?? --> <input type="button" onclick="ajouterLigne();" value="Enregistrer"/> <table id="tableau" border="1"> <thead> <tr> <th>Libelle</th> <th>Prix Unitaire</th> <th>Quantité</th> <th>Prix Total</th> </tr> </thead> <tbody> </tbody> </table> </form> </html> VOILA une solution <html> <head> <title>Insertion de lignes en JS</title> <?php / ?> <script type="text/javascript"> <!-- //init variables JS globales //i elle conserve sa valeur entre chaque appel de la fonction //c a d après le premier appel elle va passer à 1 etc... i=0; function create_champ(){ //on increment la variable globale i, numero de produit i++; // en JS on peut atteindre les elements de la page HTML par document.getElementById // creation de l'objet tableau avec lequeml on va travailler var obj_tableau=document.getElementById("tableau_produits"); //lecture des lignes du tableau actuel, JS le met dans un array var arrayLignes = obj_tableau.rows; //pour avoir le nombre de lignes, avec .length on a la taille de l'array var nbr_de_lignes=arrayLignes.length; //on insere une nouvelle ligne de tableau juste avant celle contenant le bouton var nouvelleLigne = obj_tableau.insertRow(nbr_de_lignes-1); //ensuite on remplit chacune des cellules <td></td> du tableau avec les input var colonne1=nouvelleLigne.insertCell(0); colonne1.innerHTML='<input type="text" name="lib_produit['+i+']" value="" />';; var colonne2=nouvelleLigne.insertCell(1); colonne2.innerHTML='<input type="text" name="prix_unit_produit['+i+']" value="" />'; var colonne3=nouvelleLigne.insertCell(2); colonne3.innerHTML='<input type="text" name="qte_produit['+i+']" value="" />'; var colonne4=nouvelleLigne.insertCell(3); colonne4.innerHTML='<input type="text" name="prix_total_produit['+i+']" value="" />'; //tu peux rajouter des colonnes, modifier le name, mais garde sa forme name="lib_produit['+i+']" //ainsi tu pourra facilement récuper par $_POST['lib_produit'] qui est un array, donc boucler pour insertion dans BDD } --> </script> </head> <body onload="javascript:create_champ();"> <!-- au chargement de la page on ajoute la premiere ligne produit --> <form name="form_ajaout_cde" method="post" action="save.php" > <table width="800" id="tableau_produits" > <tr> <th>Libelle</th> <th>Prix Unitaire</th> <th>Quantité</th> <th>Prix Total</th> </tr> <tr> <td colspan="4"> <input name="button" type="button" class="input2" onClick="javascript:create_champ()" value="Ajouter une ligne produit"> </td> </tr> <tr> <td colspan="4"> <input name="enregistrer" type="submit" class="input2" value="Enregistrer"> </td> </tr> </table> </form> </body> </html> et le fichier save.php <?php if(isset($_POST['enregistrer'])){ //on recupere les valeurs postées, les produits sont dans un array ex: $_POST['lib_produit'] est un array parce qu'on a mis dans les input un name de la forme lib_produit[i] //pour visualiser cela: (tu enlèves ça ensuite bien sur) echo '<pre>'; print_r($_POST); echo '</pre>'; $nb_produits=sizeof($_POST['lib_produit']); if( $nb_produits>0){ for($i=1; $i <= $nb_produits; $i++){ //par exemple avec un echo echo "Produit ".$i." Lib: ".$_POST['lib_produit'][$i]." px unit: ".$_POST['prix_unit_produit'][$i]." qte: ".$_POST['qte_produit'][$i]." prx total: ".$_POST['prix_total_produit'][$i]."<br />"; } } } ?>
jojo150393
Messages postés
330
Date d'inscription
samedi 12 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2015
23
5 juil. 2012 à 23:29
5 juil. 2012 à 23:29
Tous ce qui est envoyé par post est contenu dans la variable système $_POST.
Fait un petit print_r($_POST) pour voir ce que contient ce tableau.
Fait un petit print_r($_POST) pour voir ce que contient ce tableau.
gahmed
Messages postés
71
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
12 septembre 2018
3
6 juil. 2012 à 18:28
6 juil. 2012 à 18:28
Merci beaucoup Alain_42 mon problème est résolu