Bonjour j'ai plusieurs questions :
Je suis en train de réaliser un système de bon de commande et j'aimerai que a la fin de l'utilisation, l'utilisateur puisse cliquez sur un bouton pour générer son bon de commande en pdf. Dans cette génération il faut que les infos rentrées par l'utilisateur apparaissent. Donc je coince pour savoir comment récupérer les valeurs sans l'utilisation dune BDD MYSQL. Je pense utiliser la classe fpdf mais je ne vois comment récupérer sans BDD
Un petit exemple serait le bienvenu....
Voici le script en question :
Code JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1"> <TITLE>Bon de commande </TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- //-- si changement de tva, seule change cette ligne --------- function calculTotal(letter) { var Quantite = parseFloat(document.getElementById("Quantite" + letter).value); var Prix = parseFloat(document.getElementById("Prix" + letter).value); if (Quantite != "" && Prix != "") { document.getElementById("Total" + letter).value = Quantite * Prix; } calculMontant(); } function test_champ(champ) { expr_reg = /^\d*$/ ; // Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ; // de cette façon on vérifie que l'utilisateur entre bien un nombre entier if ( expr_reg.test(champ.value) ) { // c'est bien un nombre entier calcul_form() ; } else { // ce n'est pas un nombre entier alert ("Ce n'est par un nombre entier !") ; document.form1.elements[champ.name].value = "" ; // on efface la valeur entrée erronée calcul_form() ; } } function calculMontant() { var total = 0, value = null, champs = "ABCDEFGHIJK".split(""), // ça fait plus court sur la fin :p tva = parseFloat(document.getElementById("tva").value, 10); for (var i=0, il = champs.length; i < il; i++) { value = document.getElementById("Total"+champs[i]).value; if (!isNaN(value)) { total += parseFloat(value); } } document.getElementById("montant").value = total.toFixed(2); document.getElementById("TVA").value = (total * tva).toFixed(2); document.getElementById("TTC").value = (total + total * tva).toFixed(2); } function champ_verrouille(champ,valeur) { // Remarque : en HTML 4.0, il existe un attribut "read-only" pour la // balise <INPUT TYPE=text> qui interdira de modifier un champ // mais ce que je fais ci-dessous est beaucoup plus sûr !!! // alert ("Ce champ de peut pas être modifié !") ; document.form1.elements[champ.name].value = valeur ; // on remet "valeur" initiale dans champ } function soumettre_form() { if ( document.forms.form1.total.value == 0 ) { alert ("Vous n'avez rien commandé !\n => commande non soumise") ; return false ; } else { // Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI // document.form1.method = "POST" ; // document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=Jean-Daniel.Bonjour@epfl.ch" ; document.write ("<H3 ALIGN=center>Commande passée\n pour un montant de " + document.forms.form1.total.value + " Frs</H3>") ; document.close () ; return true ; } } // --> </SCRIPT> </HEAD> <BODY BGCOLOR="white" >
Et le code HTML
Merci d'avance et excusez moi pour la longueur du code .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173 <table width="100%"> <!--utilisation d'un tableau qui occupera toute la page--> <tr> <td> <table width="100%" align="center" border=1> <tr> <td align="center"> VILLE DE <BR> 1, rue Pasteur<BR> BP9<BR> Tel : 0321645570<BR> Fax : 0321645583<BR> Mel : contact<BR> Mel : achatpublic<BR> </td> <td align="center"> <FORM id="form_commande"> Nom du fournisseur : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGth="20"> <BR> Adresse du fournisseur : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> Ville : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> FAX : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> LIEU DE LIVRAISON <SELECT NAME="LIEU" <OPTION VALUE="st">Service technique <OPTION SELECTED VALUE="m">Mairie <OPTION VALUE="elc">Education Loisirs et Citoyenneté </SELECT> </td> <td align="center"> <?php echo "Date du jour : ".date("d-m-Y")."<br>"; //affiche la date du jour d'utilisation du serveur par le client ?> <BR>Action</BR> <INPUT TYPE="checkbox" NAME="Livraison"> Livraison <INPUT TYPE="checkbox" NAME="Retrait"> Retrait <INPUT TYPE="checkbox" NAME="Autre"> Autre <INPUT TYPE="checkbox" NAME="Transmission" CHECKED> Transmettre au fournisseur </td> <tr> <td colspan=4 align="center"> Ne seront reconnus par le Ville de *****que les services faits en exécution dun bon de commande régulier dûment numéroté, visé et signé par le responsable achat </td> </tr> <TABLE width="100%" BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA" > <TR BGCOLOR="#CCCCCC"> <TH WIDTH=70%><B>Réference fournisseur et désignation</B> <TH >Quantité <TH>Prix unitaire <TH>Prix total HT </TR> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteA" NAME="QuantiteA" SIZE="3" MAXLENGTH="4" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" > <TH><INPUT TYPE="text" id="PrixA" NAME="PrixA" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" > <TH><input name="TotalA" type="text" id="TotalA" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteB" NAME="QuantiteB" SIZE="3" MAXLENGTH="4" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" > <TH><INPUT TYPE="text" id="PrixB" NAME="PrixB" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" > <TH><input name="TotalB" type="text" id="TotalB" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteC" NAME="QuantiteC" SIZE="3" MAXLENGTH="4" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" > <TH><INPUT TYPE="text" id="PrixC" NAME="PrixC" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" > <TH><input name="TotalC" type="text" id="TotalC" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteD" NAME="QuantiteD" SIZE="3" MAXLENGTH="4" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" > <TH><INPUT TYPE="text" id="PrixD" NAME="PrixD" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" > <TH><input name="TotalD" type="text" id="TotalD" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteE" NAME="QuantiteE" SIZE="3" MAXLENGTH="4" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" > <TH><INPUT TYPE="text" id="PrixE" NAME="PrixE" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" > <TH><input name="TotalE" type="text" id="TotalE" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteF" NAME="QuantiteF" SIZE="3" MAXLENGTH="4" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" > <TH><INPUT TYPE="text" id="PrixF" NAME="PrixF" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" > <TH><input name="TotalF" type="text" id="TotalF" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteG" NAME="QuantiteG" SIZE="3" MAXLENGTH="4" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" > <TH><INPUT TYPE="text" id="PrixG" NAME="PrixG" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" > <TH><input name="TotalG" type="text" id="TotalG" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteH" NAME="QuantiteH" SIZE="3" MAXLENGTH="4" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" > <TH><INPUT TYPE="text" id="PrixH" NAME="PrixH" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" > <TH><input name="TotalH" type="text" id="TotalH" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteI" NAME="QuantiteI" SIZE="3" MAXLENGTH="4" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" > <TH><INPUT TYPE="text" id="PrixI" NAME="PrixI" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" > <TH><input name="TotalI" type="text" id="TotalI" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteJ" NAME="QuantiteJ" SIZE="3" MAXLENGTH="4" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" > <TH><INPUT TYPE="text" id="PrixJ" NAME="PrixJ" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" > <TH><input name="TotalJ" type="text" id="TotalJ" onchange="calculMontant()" value="0" /> <TR BGCOLOR="#CCCCCC"> <TH><INPUT TYPE="text" size="75"> <TH><INPUT TYPE="text" id="QuantiteK" NAME="QuantiteK" SIZE="3" MAXLENGTH="4" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" > <TH><INPUT TYPE="text" id="PrixK" NAME="PrixK" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" > <TH><input name="TotalK" type="text" id="TotalK" onchange="calculMontant()" value="0" /> <tr> <td> </td> <td> </td> <td><strong>Total Montant</strong></td> <td><strong> <input type="text" name="montant" id="montant" onClick="calculMontant()" value="0" /> </strong></td> </tr> <tr> <td> </td> <td> </td> <td><select id="tva" name="tva" onchange="calculTotal(letter)" onkeyup="calculTotal(letter)" ;> <option value="0.196">19.6 %</option> <option value="0.055">5.5 %</option> </select></td> <td><input type="text" name="TVA" id="TVA" value="0" /></td> </tr> <tr> <td> </td> <td> </td> <td>Total TTC</td> <td><input type="text" name="TTC" id="TTC" value="0" /></td> </tr> </tbody> </table> </fieldset> <p> <label> <input type="submit" name="envoyer" id="envoyer" value="Envoyer" /> </label> </p> </form> </BODY>






Répondre avec citation
Partager