Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2008, 09h49   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 20
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 20
Points : 9
Points : 9
Par défaut Problème de header : headers already sent

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
Code :
1
2
3
4
5
6
 
<?php 
 
	require('php/creation.php');
 
?>
fichier php/creation.php
Code :
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;
 
?>
erazkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 09h53   #2
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
Fais attention à ce qu'aucun de tes fichiers ne commence par un espace ou une ligne vide avant la balise ouvrante <?php
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 09h59   #3
Invité régulier
 
Inscription : janvier 2005
Messages : 20
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 20
Points : 9
Points : 9
Merci de cette réponse rapide.

Mais je peux t'assurer qu'il n'y a rien avant <?php.
erazkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 12h02   #4
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
met un error_reporting(E_ALL)en tout début pour voir si tout se défini bien (parfois ca donne des pistes de modification)
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 12h28   #5
Invité régulier
 
Inscription : janvier 2005
Messages : 20
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2005
Messages : 20
Points : 9
Points : 9
Ben, écoutez...

Un ami développeur avait eu le même problème.
C'était dû aux réglages serveur.
Donc il avait juste remplacé WAMP 1.5 par le WAMP 2.0. Et à partir de là, ça marche.

Ce n'est pas une solution propre, mais ça répond au problème.
erazkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h57.


 
 
 
 
Partenaires

Hébergement Web