Bonjour,
cela fait plusieurs jours que je n'arrive pas à solutionner mon problème. En effet, il s'agit d'un site internet actuellement buggé conçu par un éditeur qui a fermé.
Je tente de m'expliquer. Je suis dans l'interface administration et je souhaite éditer une fiche d'un bien immobilier contenant de nombreuses références.
A la racine du répertoire /client1, j'ai ceci :
- fpdf.php
- generate.php
- vitrine.php
Contenu de generate.php
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 <? include('../fonctions/fonctions.php'); require('fpdf.php'); class PDF extends FPDF { function Footer() { $this->SetY(-25); $this->SetFont('Arial','I',8); $this->Cell(0, 5, "Agence Machin", 0, 1 ,'C'); $this->Cell(0, 5, "Tel. : - Fax : ", 0, 1 ,'C'); $this->Cell(0, 5, "www.site.com", 0, 1 ,'C'); $this->Cell(0, 5, "Document non contractuel.", 0, 1 ,'C'); } } $data = $_GET['data']; $data = unserialize(stripslashes($data)); $ref = utf8_decode($data[0]); $prix = utf8_decode($data[1]); $texte = utf8_decode($data[3]); $secteur = utf8_decode($data[2]); $photo = $data[5]; $db=connexion(); //Instanciation de la classe dérivée $pdf=new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Arial', 'B', 24); $pdf->Cell(80); $pdf->Cell(30, 10, 'Agence', 0, 1,'C'); $pdf->SetFont('Arial', '', 11); $pdf->Cell(50, 5, 'Ref.: '.$ref, 0, 0, 'L'); $pdf->Cell(50, 5, $prix.' EUROS', 0, 0, 'R'); $pdf->Cell(0, 5, $secteur, 0, 1, 'R'); if($photo != "") $pdf->Image('../photos/'.$photo.'.jpg', 55, 28, 90); $pdf->SetY(100); $pdf->Cell(0, 5, ' ', 0, 1); $pdf->MultiCell(0, 5, $texte, 0, 1); $pdf->Cell(0, 5, ' ', 0, 1); $pdf->Cell(0, 5, ' ', 0, 1); $sh = $data['8']['sh'].' m²'; $sf_rec = $data['8']['sf_rec'].' m²'; $sf_ter = $data['8']['sf_ter'].' m²'; $sf_jard = $data['8']['sf_jard'].' m²'; $pdf->Cell(0, 5, 'Surfaces (environ):', 1, 1, 'L'); $pdf->Cell(50, 5, 'Habitable: '.utf8_decode($sh), 1, 0); $pdf->Cell(50, 5, 'Reception: '.utf8_decode($sf_rec), 1, 0); $pdf->Cell(45, 5, 'Terrain: '.utf8_decode($sf_ter), 1, 0); $pdf->Cell(45, 5, 'Jardin: '.utf8_decode($sf_jard), 1, 1); $pdf->Cell(50, 5, 'Nb de pieces: '.$data['8']['nbpiece'], 1, 0); $pdf->Cell(50, 5, 'Nb de chambre: '.$data['8']['nbch'], 1, 0); $pdf->Cell(45, 5, $data['13'], 1, 0); $pdf->Cell(45, 5, $data['14'], 1, 1); $pdf->Cell(50, 5, 'Style: '.utf8_decode($data['8']['style']), 1, 0); $pdf->Cell(50, 5, 'Annee: '.$data['8']['annee'], 1, 0); $pdf->Cell(45, 5, 'Mitoyennete: '.$data['7']['mitoy'], 1, 0); $pdf->Cell(45, 5, 'Toiture: '.$data['7']['toit'], 1, 1); $pdf->Cell(100, 5, 'Chauffage: '.utf8_decode($data['8']['chauf']), 1, 0); $pdf->Cell(45, 5, 'Taxe d\'habitation: '.$data['10']['tx_hab'], 1, 0); $pdf->Cell(45, 5, 'Taxe fonciere: '.$data['10']['tx_fon'], 1, 1); $pdf->Cell(0, 5, ' ', 0, 1); $pdf->Cell(0, 5, ' ', 0, 1); $pdf->MultiCell(0, 5, utf8_decode($data['9']), 0, 1, 'L'); $pdf->Cell(0, 5, ' ', 0, 1); $pdf->MultiCell(0, 5, 'Commentaires: '.utf8_decode($data['11']), 0, 1); $pdf->AddPage(); $pdf->SetFont('Arial', 'B', 24); $pdf->Cell(80); $pdf->Cell(30, 10, 'Agence Machin', 0, 1,'C'); $pdf->SetFont('Arial', '', 11); $pdf->Cell(50, 5, 'Ref.: '.$ref, 0, 0, 'L'); $pdf->Cell(50, 5, $prix.' EUROS', 0, 0, 'R'); $pdf->Cell(0, 5, $secteur, 0, 1, 'R'); $pdf->Cell(0, 5, ' ', 0, 1); $unit = utf8_decode('m²'); $pdf->Cell(20, 5, 'Niv.', 1, 0); $pdf->Cell(25, 5, 'Intitule', 1, 0); $pdf->Cell(20, 5, 'Surf. ('.$unit.')', 1, 0); $pdf->Cell(35, 5, 'Revetement', 1, 0); $pdf->Cell(90, 5, 'Commentaires', 1, 1); for($i = 1; $i <= count($data['12']); $i++) { $pdf->Cell(20, 5, $data['12'][$i]['0'], 1, 0); $pdf->Cell(25, 5, utf8_decode($data['12'][$i]['1']), 1, 0); $pdf->Cell(20, 5, utf8_decode($data['12'][$i]['2']), 1, 0); $pdf->Cell(35, 5, utf8_decode($data['12'][$i]['3']), 1, 0); $pdf->MultiCell(90, 5, utf8_decode($data['12'][$i]['4']), 1, 1); } $pdf->Output(); ?>
et aboutissant vers un 'vitrine.php".
Contenu de vitrine.php
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 <?php include('../fonctions/fonctions.php'); // index.php $db=connexion(); if (isset($_GET['bien'])) { $bien=$_GET['bien']; $code=$bien; include('../fonctions/donnees.php'); $ref=$biens['ref']; $prix=$biens['pdv']; $prix=number_format($prix, 0, ',', ' '); $s = mysql_query("SELECT texte FROM secteur WHERE num = ".$biens['secteur']) or die(mysql_error()); $s = mysql_fetch_array($s); $secteur = $s['texte']; $secteur = $secteur." - ".$biens['secteur_libre']; $texte=html_entity_decode($pub); if ($appart['ap_etage']==0) $appart['ap_etage']="RDC"; if ($appart['asc']==1) $ap_asc="Ascenseur : oui"; else $ap_asc=""; if ($appart['inter']==1) $ap_inter="Interphone : oui"; else $ap_inter=""; if ($descriptif['gara']!=0) $garage="Garage : ".$descriptif['gara']." voiture(s)"; else $garage=""; if ($descriptif['parking']!=0) $parking="Parking : ".$descriptif['parking']." voiture(s)"; else $parking=""; $env=""; if ($environ['com']!="") { $env="Commerce : ".$environ['com']; if ($environ['trans']!="") $env.=", Transport en commun : ".$environ['trans']; if ($environ['ecole']!="") $env.=", Ecoles : ".$environ['ecole']; } else { if ($environ['trans']!="") { $env="Transport en commun : ".$environ['trans']; if ($environ['ecole']!="") $env.=", Ecoles :".$environ['ecole']; } else { if ($environ['ecole']!="") $env="Ecoles : ".$environ['ecole']; } } $environ=$env; $divers=$environ['autres']; if ($divers!="") $divers="Autres : ".$divers; if ($appart['ap_cave']!="") $appart['ap_cave']="Cave : ".$appart['ap_cave']; if ($appart['ap_balcon']!="") $appart['ap_balcon']="Balcon : ".$appart['ap_balcon']; if ($maison['mitoy']==0 OR $maison['mitoy']==3) { $maison['mitoy']="Non"; } elseif ($maison['mitoy']==1) { $maison['mitoy']="Oui - 1 coté"; } elseif ($maison['mitoy']==2) { $maison['mitoy']="Oui - 2 cotés"; } $commentaire=$descriptif['comment']; $commentaires=$descriptif['comment']; $descriptif['chauf']=$descriptif['chauf']." / ".$financier['chauff']." euros/an"; $i=1; $query="SELECT * FROM piece WHERE biens='".$code."' ORDER BY niv ASC"; $result=myexe($query,"erreur piece"); while($lig = mysql_fetch_array($result,MYSQL_ASSOC)) { if ($lig['niv']==0) $niv[$i]="RDC"; if ($lig['niv']==1) $niv[$i]="1er étage"; if ($lig['niv']==2) $niv[$i]="2ème étage"; if ($lig['niv']>2) $niv[$i]=$lig['niv']."ème étage"; if ($lig['niv']=="-1") $niv[$i]="sous-sol"; if ($lig['niv']<"-1") $niv[$i]=$lig['niv']; $inti[$i]=$lig['intitule']; $sf[$i]=$lig['sh']; $revet[$i]=$lig['revet']; $comment[$i]=$lig['descriptif']; $det[$i] = array($niv[$i], $inti[$i], $sf[$i], $revet[$i], $comment[$i]); $i=$i+1; } while($i<=35) { $niv[$i]=""; $inti[$i]=""; $sf[$i]=""; $revet[$i]=""; $comment[$i]=""; $i=$i+1; } $photo = str_replace('.jpg', '', str_replace('photos/', '', $_POST['imp'])); $data = array($ref, $prix, $secteur, $texte, $code, $photo, $appart, $maison, $descriptif, $environ, $financier, $commentaires, $det, $garage, $parking); $dest = "generate.php?data=".serialize($data); header("Location: $dest"); exit; } ?>
La collecte des données fonctionne via donnees.php
J'obtiens très souvent cette erreur dans l'interface d'administration et il est donc impossible d'atteindre la page générée et d'en imprimer le contenu. J'ai compris que fpdf.php servait à mettre en forme un pdf.
L'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: Header may not contain more than a single header, new line detected. in /srv/d_ncc2014/www/www.site.com.fr/htdocs/admin/client1/vitrine.php on line 108
La line 108 fait référence àN'étant pas une spécialiste de php, je fais appel à la communauté pour me filer un coup de pouce.
Code : Sélectionner tout - Visualiser dans une fenêtre à part header("Location: $dest");
merci.
Partager