Erreur sur un fichier RSS/php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur sur un fichier RSS/php

par cyberlp » 16 janv. 2009, 09:56

Merci pour votre aide !

par Ryle » 15 janv. 2009, 22:05

Il faut effectivement savoir que le "&" est un caractère d'échappement destiné à indiquer que les caractères suivants jusqu'au premier point-virgule rencontré servent à l'affichage d'une entité (x)html. Cela a pour conséquence d'empêcher la validation de ton flux xml lorsque tu utilises les & sans les protéger.

Pour afficher une esperluette dans un fichier xml sans que la gestion des entités soit enclenchée, il faut la remplaçer par l'entité " & " :)

La méthode de Calimero pour tester la validité d'un flux ou d'un fichier xml est à noter par contre. Le navigateur va effectivement t'indiquer immédiatement si le xml est valide et dans le cas contraire, la ligne ou l'élément posant problème :)

par Calimero » 15 janv. 2009, 19:07

En revanche, une erreur persiste, il n'arrive pas à bien interpréter la ligne <link>
Il me donne comme lien, par ex :

http://www.monurl.com/index.php?order=select=121
au lieu de :

http://www.monurl.com/index.php?order=s ... select=121
L'erreur et sa solution vont te sauter aux yeux quand tu ouvriras ton RSS directement dans un navigateur (en mode XML, pas en mode RSS)

par cyberlp » 15 janv. 2009, 18:11

Eh bien en fait il y a eu une évolution :)

J'imagine que mon lecteur de RSS (netvibes en l'occurrence) n'avait pas encore actualisé les changements.

En revanche, une erreur persiste, il n'arrive pas à bien interpréter la ligne <link>

Il me donne comme lien, par ex :

http://www.monurl.com/index.php?order=select=121

au lieu de :

http://www.monurl.com/index.php?order=s ... select=121

par guilt92 » 15 janv. 2009, 18:02

Salut pourrais tu etre plus spécifique et expliquer ce qui ne va pas ?

Erreur sur un fichier RSS/php

par cyberlp » 15 janv. 2009, 17:34

Bonjour,

Voici le code d'une page PHP qui me permet de générer un fichier rss.xml contenant mon flux rss.
Mais il semble qu'il y a une erreur, et je n'arrive pas à voir laquelle.

Merci pour votre aide.
<?php
    
		$xml = '<?xml version="1.0" encoding="iso-8859-1"?>';
		$xml .= '<rss version="2.0">';
		$xml .= '<channel>';
		$xml .= '<title>Titre</title>';
		$xml .= '<link>http://www.url.com</link>';
		$xml .= '<description>Blabla</description>';
		$xml .= '<copyright>(c) 2009 Blabla</copyright>';

    require('config.php'); // connexion à la BDD
    
    $q = mysql_query("SELECT * FROM temoignages WHERE validation=1 ORDER BY ID DESC LIMIT 0,4");

    while($r = mysql_fetch_array($q)){
        $titre = $r['titre_texte'];
        $titre = stripslashes(htmlentities($titre));
		$id=$r['ID'];
		$description=substr(stripslashes(htmlentities($r['texte'])),0,300);
		
        $xml .= '<item>';
        $xml .= '<title>'.$titre.'</title>';
        $xml .= '<link>http://www.url.com/index.php?order=select&idselect='.$id.'</link>';
		$xml .= '<description>'.$description.'</description>';
        $xml .= '</item>';
    }

    $xml .= '</channel>';
    $xml .= '</rss>';
	
	
	$fp = fopen("rss.xml", 'w+');
	fputs($fp, $xml);
	fclose($fp);
	@mysql_close();

?>