Xml et PHP avec IE6 ou Firefox

Hank
Invité n'ayant pas de compte PHPfrance

19 nov. 2005, 13:36

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.

Mammouth du PHP | 1311 Messages

19 nov. 2005, 13:39

salut
donne nous plutot le fichier generer

Hank
Invité n'ayant pas de compte PHPfrance

19 nov. 2005, 13:44

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>

Invité
Invité n'ayant pas de compte PHPfrance

19 nov. 2005, 14:14

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.

Mammouth du PHP | 1311 Messages

19 nov. 2005, 14:23

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?

Invité
Invité n'ayant pas de compte PHPfrance

19 nov. 2005, 17:04

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.

Eléphant du PHP | 353 Messages

20 nov. 2005, 14:34

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 ?> .

Mammouth du PHP | 19672 Messages

20 nov. 2005, 14:38

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 353 Messages

20 nov. 2005, 14:40

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! :-)

Mammouth du PHP | 1311 Messages

20 nov. 2005, 17:40

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