Aller au contenu

Sujets conseillés

Posté (modifié)

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
Posté

Si tu nous donnais l'URL de backend.php, ce serait plus facile ;)

Posté

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

Veuillez vous connecter pour commenter

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



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