Aller au contenu

Problème avec un fichier RSS et Mozilla


vespa

Sujets conseillés

Bonjour,

J'ai un soucis avec le fichier rss.php qui génere un flux RSS

Le code est le suivant :

<?php
include("mainfile.php");
global $prefix, $db, $nukeurl;
header("Content-Type: text/xml");
if (isset($cat) && !empty($cat)) {
$cat = htmlentities($cat);
list($catid) = $db->sql_fetchrow($db->sql_query("SELECT catid FROM ".$prefix."_stories_cat WHERE title LIKE '%$cat%' LIMIT 1"));
if (empty($catid)) {
$result = $db->sql_query("SELECT sid, title, hometext FROM ".$prefix."_stories ORDER BY sid DESC LIMIT 10");
} else {
$catid = intval($catid);
$result = $db->sql_query("SELECT sid, title, hometext FROM ".$prefix."_stories WHERE catid='$catid' ORDER BY sid DESC LIMIT 10");
}
} else {
$result = $db->sql_query("SELECT sid, title, hometext FROM ".$prefix."_stories ORDER BY sid DESC LIMIT 10");
}
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n";
echo "<!DOCTYPE rss PUBLIC \"-//Netscape Communications//DTD RSS 0.91//EN\"\n";
echo " \"http://my.netscape.com/publish/formats/rss-0.91.dtd\">\n\n";
echo "<rss version=\"0.91\">\n\n";
echo "<channel>\n";
echo "<title>".htmlentities($sitename)."</title>\n";
echo "<link>$nukeurl</link>\n";
echo "<description>".htmlentities($backend_title)."</description>\n";
echo "<language>$backend_language</language>\n\n";
while (list($rsid, $rtitle, $rtext) = $db->sql_fetchrow($result)) {
$rsid = intval($rsid);
echo "<item>\n";
echo "<title>".htmlentities($rtitle)."</title>\n";
echo "<link>$nukeurl/modules.php?name=News&file=article&sid=$rsid</link>\n";
echo "<description>".htmlentities($rtext)."</description>\n";
echo "</item>\n\n";
}
echo "</channel>\n";
echo "</rss>";
?>

Lorsque je vais sur cette page avec mozilla j'obtiens le message suivant alors qu'avec IE la page s'affiche parfaitement :

Erreur d'analyse XML : instruction de traitement XML pas au début d'une entité externe
Emplacement : http://monsite/rss.php
Numéro de ligne 3, Colonne 1 :<?xml version="1.0" encoding="ISO-8859-1"?>
^

Avez vous une idée sur le problème ?

Merci d'avance

Modifié par vespa
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Supprimer les deux lignes vides (#1 et #2) résoud ce problème... mais en dévoile un autre au premier ´ : XML Parsing Error: undefined entity. La solution serait peut-être de ne pas convertir les caractères accentués.

A bientôt,

Philippe

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...