Bonjour bonjour !!!
Voila voila je suis sur un projte de gestion de devis en ligne et je suis face a un gros probleme. Ca fait une jounrée que je suis dessus sans trouver de solution donc je me tourne vers vous , peut etre mes sauveurs
alors j'ai deux fichiers.
Le premier : generdev.php
voila le fichier numéro 1 ! Celui ci permet la création d'un formulaire qui contient plusieurs champs. La génération de mon pdf marche très bien jusqu'a ce que j'ajoute une gestion d'erreur.
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 <html> <head> <title> G?rateur de Devis </title> <link rel="stylesheet" href="style_dev.css" type="text/css" /> </head> <body> <center> <div class="global"> <?php if( isset($_POST['raisoc_ent']) && $_POST['raisoc_ent'] != null && isset($_POST['codepos_ent']) && $_POST['codepos_ent'] != null && isset($_POST['ville_ent']) && $_POST['ville_ent'] != null && isset($_POST['nom_resp']) && $_POST['nom_resp'] != null && isset($_POST['prenom_resp']) && $_POST['prenom_resp'] != null && isset($_POST['tel_resp']) && $_POST['tel_resp'] != null && isset($_POST['mail_resp']) && $_POST['mail_resp'] != null && isset($_POST['typeforma']) && $_POST['typeforma'] != null && isset($_POST['villeforma']) && $_POST['villeforma'] != null && isset($_POST['nombrepart']) && $_POST['nombrepart'] != null) { include('exsstinit.php'); } else { ?> <form method="POST" > <!-- ENTREPRISE ---------------------------> <br /> <center><h3>G?rateur de Devis en-ligne - FORMATIONS INTER </h3></center> <? echo "Tous les champs sont obligatoires..."; // sinon il fous ca au dessus du formulaire !!! ?> <center> <fieldset size="500"><legend><b>ENTREPRISE</b></legend> <table> <tr> <td>Raison sociale : </td> <td> <INPUT type=text name="raisoc_ent" size="20" value=<? echo $_POST['raisoc_ent'];?>></td> </tr> <tr> <td>Code Postal: </td> <td> <INPUT type=text name="codepos_ent" size="20" value=<? echo $_POST['codepos_ent'];?>></td> <td><center> Ville : </center> </td> <td> <INPUT type=text name="ville_ent" size="20" value=<? echo $_POST['ville_ent'];?>></td> </tr> </table> </fieldset> <br /> <br /> <fieldset><legend><b>RESPONSABLE DE L INSCRIPTION</b></legend> <table> <tr> <td>Nom:</td> <td> <INPUT type=text name="nom_resp" size="20" value=<? echo $_POST['nom_resp'];?>></td> <td><center>Pr?m:</center></td> <td> <INPUT type=text name="prenom_resp" size="20" value=<? echo $_POST['prenom_resp'];?>></td> </tr> <tr> <td>T?phone: </td> <td> <INPUT type=text name="tel_resp" size="20" value=<? echo $_POST['tel_resp'];?>></td> <td>adresse e-mail:</td> <td> <INPUT type=text name="mail_resp" size="20" value=<? echo $_POST['mail_resp'];?>> </td> </tr> </table> </fieldset> <br /> <br /> <fieldset><legend><b>FORMATION</b></legend> <table> <tr> <td>type de formation :</td> <td> <SELECT name="typeforma"> <OPTION VALUE="0">choix formation</OPTION> <OPTION VALUE="formation SST-Initial">SST-Initial</OPTION> <OPTION VALUE="formation SST-Recyclage">SST-Recyclage</OPTION> <OPTION VALUE="formation CHSCT-Initial">CHSCT-Initial</OPTION> <OPTION VALUE="formation CHSCT-Recyclage">CHSCT-Recyclage</OPTION> </SELECT> </td> <td> Villes :</td> <td> <SELECT name="villeforma"> <OPTION VALUE="v0" >choix ville</OPTION> <OPTION VALUE="Bordeaux">Bordeaux</OPTION> <OPTION VALUE="Grenoble">Grenoble</OPTION> <OPTION VALUE="Lyon">Lyon</OPTION> <OPTION VALUE="Lille">Lille</OPTION> <OPTION VALUE="Marseille">Marseille</OPTION> <OPTION VALUE="Metz/Nancy">Metz/Nancy</OPTION> <OPTION VALUE="Montpellier">Montpellier</OPTION> <OPTION VALUE="Nantes">Nantes</OPTION> <OPTION VALUE="Nice">Nice</OPTION> <OPTION VALUE="Paris">Paris</OPTION> <OPTION VALUE="Rennes">Rennes</OPTION> <OPTION VALUE="Strasbourg">Strasbourg</OPTION> <OPTION VALUE="Toulouse">Toulouse</OPTION> </SELECT> </td> </tr> <tr> <td>nombre de participants:</td> <td> <SELECT name="nombrepart"> <OPTION VALUE="1">1</OPTION> <OPTION VALUE="2">2</OPTION> <OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION> <OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> </SELECT> </td> </tr> </table> </fieldset> <br /> <fieldset> <legend><b>VALIDATION</b></legend> <table align="center"> <TR> <TD> <INPUT type="submit" value="Valider et Obtenir mon devis"> </TD> <TD> <INPUT type="reset" value="Tout Annuler"> </TD> </TR> </table> <br /> </fieldset> <br /><br /><br /><br /><br /><br /><br /><br /> </center></center> </form> <? } ?> </div> </body> </html>
En effet avant d'avoir mon erreur , le pdf se créait très bien. En fait avant cette gestion, l'action du formulaire était le fichier ex.php ( soit le traitement du pdf)
alors que maintenant, l'action du formulaire est la meme fichier generdev.php et tnat que tous les champs ne sont pas existant et non vide, il recharge cette même page.
Une fois que tous les champs sont complétés, a ce moment la il passe dans la premiere partie du code soit le
include('exsstinit.php');
je pense que le souci vient de la.
Mon erreur précise est :
Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\generdev\generdevsstinit\generdev.php:10) in C:\xampplite\htdocs\generdev\generdevsstinit\fpdf.php on line 1017
FPDF error: Some data has already been output, can't send PDF file
donc je ne comprend pas comment faire en fait. A la ligne 1017, on crée un header donc je suppose que cela pose un conflit avec le header html.
Je ne sais pas résoudre ce problème, je rame depuis des heures et des heures, peut etre est-ce l'idée qu'il me manque. Si vous pouviez m'aidez je vous en serait très reconaissant.
voici le 2eme fichier a titre indicatif :
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 <?php require('invoice.php'); ob_end_clean(); $pdf = new PDF_Invoice( 'P', 'mm', 'A4' ); $pdf->AddPage(); $pdf->addSociete( "Siège Social:\n","ENT\n". "65, Avenue lecal Briand\n" . "92350 Paris\n\n"."Tél : 01 57 21 86 90\n"."Fax : 01 57 21 86 59\n\n"."SARL au capital de 7600 uros" ); $pdf->fact_dev( "DEVIS ", "Formation" ); $pdf->temporaire( "D E V I" ); $pdf->addDate( "03/12/2003"); $pdf->addPageNumber("1"); $pdf->addClientAdresse("Ste " . $_POST[raisoc_ent] . "\nM. ". $_POST[prenom_resp] ." ". $_POST[nom_resp] . "\n" .$_POST[mail_resp] . "\n". $_POST[codepos_ent] . " " . $_POST[ville_ent] ."\nTel: " . $_POST[tel_resp]); $cols=array( "DESIGNATION" => 78, "Nb Participant" => 25, "Nb d'heures" => 26, "Prix HT/stagiaire" => 30, "Montant HT" => 25 ); $pdf->addCols( $cols); $cols=array( "FORMATION - LIEU" => "L", "Nb Participant" => "C", "Nb d'heures" => "R", "Prix HT/stagiaire" => "R", "Montant HT" => "C" ); $pdf->addLineFormat($cols); //$pdf->addLineFormat($cols); $y = 120; $line = array( "DESIGNATION" => "Prestation " . $_POST[typeforma]." - ".$_POST[villeforma] , "Nb Participant" => $_POST[nombrepart] , "Nb d'heures" => "14 ( 2 jours )", "Prix HT/stagiaire" => "260 ", "Montant HT" => 260*$_POST[nombrepart] ); $size = $pdf->addLine( $y, $line ); $y += $size + 2; $pdf->addCadreTVAs(); $tot_prods = array( array ( "px_unit" => 260, "qte" => $_POST[nombrepart] , "tva" => 1 ) ); $tab_tva = array( "1" => 19.6, "2" => 5.5); $params = array( "RemiseGlobale" => 0, "remise_tva" => 0, // {la remise s'applique sur ce code TVA} "remise" => 0, // {montant de la remise} "remise_percent" => 0, // {pourcentage de remise sur ce montant de TVA} "FraisPort" => 1, "portTTC" => 0, // montant des frais de ports TTC // par defaut la TVA = 19.6 % "portHT" => 0, // montant des frais de ports HT "portTVA" => 1, // valeur de la TVA a appliquer sur le montant HT "AccompteExige" => 1, "accompte" => 0, // montant de l'acompte (TTC) "accompte_percent" => 0, // pourcentage d'acompte (TTC) "Remarque" => "Aucun acompte" ); $pdf->addTVAs( $params, $tab_tva, $tot_prods); $pdf->addCadreEurosFrancs(); $pdf->Output(); exit(); ?>
Partager