Bonjour à tous!
Je reviens avec un problème de header (non, vous n'avez pas vu le titre...)
En effet, je fais une simple création de fichier XML en PHP.
Rien de bien compliqué, me direz-vous...
Et bien, à croire que j'aime les choses compliquées...
Quand je veux voir le fichier XML créé, il me donne le contenu des balises, précédé d'un "Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\projet\php\creation.php:1) in C:\wamp\www\projet\php\creation.php on line 92".
Le pire? C'est que je ne vois pas du tout où j'ai pu écrire des données...
Je vous donne le code, histoire d'agrémenter un peu. Au fait, j'utilise WAMP. Peut-être y a-t-il une extension à charger?
Merci d'avance.
fichier index.php
fichier php/creation.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php require('php/creation.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 <?php // En-têtes envoyées pour éviter la mise en cache du navigateur //header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); //header('Last-Modified:' . gmdate('D, d M Y H:i:s') . 'GMT'); //header('Cache-Control: no-cache, must-revalidate'); //header('Pragma: no-cache'); // Création du nouveau document XML //header('1.0','charset=iso-8859-1'); $dom = new DOMDocument(); $dom->formatOutput = true; // On se connecte à la base avec un fichier externe require('connexion.php'); //on lance la requete $requete = "SELECT * FROM damier"; $resultat = mysql_query($requete) or die (mysql_error("Erreur lors de l'accès aux données.")); // Création de l'élément racine <echiquier> $reponse = $dom->createElement('echiquier'); $dom->appendChild($reponse); //On boucle sur le resultat while ($row = mysql_fetch_array($resultat)) { if ($row['x'] == 0) { // Création d'une ligne, enfant de l'échiquier $ligne = $dom->createElement('ligne'); } // Création d'une case --> on n'associe pas encore les différents éléments $case = $dom->createElement('case'); // On détermine couleurc $couleurc = $dom->createElement('couleurc'); $couleurcText = $dom->createTextNode('' . $row['couleurc'] . ''); $couleurc->appendChild($couleurcText); // On détermine x $x = $dom->createElement('x'); $xText = $dom->createTextNode('' . $row['x'] . ''); $x->appendChild($xText); // On détermine x $y = $dom->createElement('y'); $yText = $dom->createTextNode('' . $row['y'] . ''); $y->appendChild($yText); // Création d'un pion $pion = $dom->createElement('pion'); // Classe du pion $classe = $dom->createElement('classe'); $classeText = $dom->createTextNode('' . $row['classe'] . ''); $classe->appendChild($classeText); // Couleur du pion $couleur = $dom->createElement('couleur'); $couleurText = $dom->createTextNode('' . $row['couleur'] . ''); $couleur->appendChild($couleurText); // Id du pion $id = $dom->createElement('id'); $idText = $dom->createTextNode('' . $row['id'] . ''); $id->appendChild($idText); // On peut maintenant emboiter les différents éléments $pion->appendChild($classe); $pion->appendChild($couleur); $pion->appendChild($id); $case->appendChild($couleurc); $case->appendChild($x); $case->appendChild($y); $case->appendChild($pion); $ligne->appendChild($case); $reponse->appendChild($ligne); } // Conversion en chaine de caractères XML $repXML = $dom->saveXML(); //affichage de l'arbre XML header( "Content-Type: text/xml" ); echo $repXML; ?>
Partager