Page 1 sur 1

Xml et PHP avec IE6 ou Firefox

Posté : 19 nov. 2005, 13:36
par Hank
Bonjour,

j'ai un petit souci technique. A partir d'un script PHP je récupères des données dans une bdd que je formate ensuite en XML. ça marche très bien sous IE6 mais pas sur Firefox avec lequel j'ai un bel écran tout blanc.

Le script est le suivant :
<?
mysql_select_db($database_db, $connect_db);
$requete = "SELECT * FROM table"; 
$resultat = mysql_query($requete); 
$monXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; 
$monXML .= "<dates>"; 
// on parcourt le résultat de la requête 
    while ($donnees = mysql_fetch_array($resultat))
    { 
        $monXML .= '<date an="'.$donnees['an'].'" mois="'.$donnees['mois']. '" jour="'.$donnees['jour'].'" />'; 
    }
$monXML .= '</dates>'; 
print $monXML; 
mysql_free_result($resultat);
mysql_close();
?>
Merci si vous savez quoi.

Posté : 19 nov. 2005, 13:39
par jeff
salut
donne nous plutot le fichier generer

Posté : 19 nov. 2005, 13:44
par Hank
En sortie sous IE6, j'obtiens le fichier xml suivant :

<?xml version="1.0" encoding="UTF-8" ?>
- <contacts>
<date an="2005" mois="11" jour="10" />
<date an="2005" mois="11" jour="06" />
<date an="2005" mois="12" jour="25" />
<date an="2005" mois="10" jour="11" />
<date an="2005" mois="10" jour="4" />
<date an="2005" mois="10" jour="19" />
<date an="2005" mois="10" jour="21" />
<date an="2005" mois="10" jour="10" />
<date an="2005" mois="10" jour="7" />
<date an="2005" mois="10" jour="8" />
</contacts>

Posté : 19 nov. 2005, 14:14
par Invité
Est-ce là le code source ?
Je en le pense pas vu le signe "-" devant la balise <contacts>.

Car normalement, Firefox devrait afficher quelque chose de semblable à IE.

Posté : 19 nov. 2005, 14:23
par jeff
est ce qu'il n'y aurai pas un probleme de mimi-type???
ie etant plus permissif reconnai peut etre du xml et l'affiche mais pas firefox???

essai d'envoyer le type du fichier pour voir?

Posté : 19 nov. 2005, 17:04
par Invité
Le mime-type n'a pas d'importance pour xml : xml est un fichier texte.
Le jeu de caractère utilisé est indiqué par l'attribut "encoding".

Et "UTF-8" (Unicode text format) et le format par défaut, reconnu par tout ce qui est capable de gérer un fichier xml, autrement que de l'ouvrir comme un fichier texte brut.

IE6 et Firefox ont cette capacité.

Reste à voir si le code source ne comporte pas des caractères non reconnus /non compatibles UTF-8.

Car, même si connais mal IE, l'habitude Microsoft de ne pas respecter les standard lui permet peut-être d'ouvrir n'importe quoi sans message d'erreur.

Posté : 20 nov. 2005, 14:34
par nicolas
Ajoutes cette entête avant d'envoyer le fichier xml:
header("Content-type: text/xml");
Par parenthèses je te signale que les balises php sont <?php et ?> et non pas <? et ?> .

Posté : 20 nov. 2005, 14:38
par Cyrano
Par parenthèses je te signale que les balises php sont <?php et ?> et non pas <? et ?> .
En tous cas il est imprudent d'utiliser la version abrégée, la directive short_open_tag étant parfois à OFF chez les hébergeurs.

Posté : 20 nov. 2005, 14:40
par nicolas
Par parenthèses je te signale que les balises php sont <?php et ?> et non pas <? et ?> .
En tous cas il est imprudent d'utiliser la version abrégée, la directive short_open_tag étant parfois à OFF chez les hébergeurs.
C'est une façon différente d'exprimer la même chose mais je vais encadrer ce message pour une fois que tu es presque d'accord avec moi! :-)

Posté : 20 nov. 2005, 17:40
par jeff
est ce qu'il n'y aurai pas un probleme de mimi-type???
ie etant plus permissif reconnai peut etre du xml et l'affiche mais pas firefox???

essai d'envoyer le type du fichier pour voir?
Ajoutes cette entête avant d'envoyer le fichier xml:
PHP:
header("Content-type: text/xml");
idem pour moi :D