flux RSS
le 14/10/2006 à 17:36
Keika
Le PHP --> C'est dur !
Pourrais tu detailler l'erreur ?
I am singing in the rain , I am happy again !!
salut,
qu'entend tu par : ne passe pas ?
a tu vérifié que le document généré été bien formé ? (
http://www.feedvalidator.org/ par exemple).
http://www.xul.fr/xml-rss.html#structure
ça a l'air plus simple que rss 1.0 le 2.0 :)
(
http://xmlfr.org/documentations/tutoriels/041022-0001)
ce qui m'étonne :
guid Une chaîne de caractère qui est un identifiant unique de l'item.
alors qu'il est toujours le même sur ton fichier !
http://www.stervinou.com/projets/rss/#ltguidgtSubelementOfLtitemgt
<guid> sous-élément de <item>
<guid> est un sous-élément facultatif de <item>.
guid signifie globally unique identifier (identifiant global unique). c'est un texte qui identifie l'item de manière unique. Quand il est présent, un agrégateur peut choisir d'utiliser ce texte pour déterminer si cet item est nouveau.
<guid>http://some.server.com/weblogItem3207</guid>
Il n'y a pas de règle pour la syntaxe d'un guid. Les agrégateurs doivent les considérer comme du texte. C'est au créateur de la source d'établir l'unicité de ce texte.
Si l'élément guid possède un attribute appelé "isPermaLink" avec une valeur true, le lecteur peut considérer que c'est un lien permanent vers l'item, c'est-à-dire une url qui peut être ouverte avec un navigateur Web, qui pointe vers le contenu complet de l'item décrit par l'élément <item>. Un exemple :
<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>
isPermaLink est facultatif, sa valeur par défaut est true. Si sa valeur est false, le guid ne peut pas être considéré comme une url, ou une url pointant vers quelquechose en particulier.
je pense que la déja y a un pb!
@+
Il en faut peu pour être heureux !!!!!
le 15/10/2006 à 06:41
Keika
ok,
alors j'ai rendu le flux valide, mais sans PHP.
Le probleme c'est l'insertion du code PHP.
Voila ce que j'ai maintenant :
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Karatenergy</title>
<link>http://karatenergy.free.fr</link>
<description>Les news du club</description>
<?php
#Connexion a la base
include('./scripts/bdd.php') ;
#La partie SQL
$sql = "SELECT auteur, titre, date, texte_news FROM news ORDER BY date ASC LIMIT 0,20" ;
#La requete SQL
$requete = mysql_query($sql) or die();
while($data = mysql_fetch_array($requete)){
echo'<item>
<title>'.$data['titre'].' par '.$data['auteur'].'</title>
<link>http://karatenergy.free.fr</link>
<description>'.$data['texte_news'].'</description>
</item>' ;
}
?>
</channel>
</rss>
et bien sur j'ai une grosse PARSE error:
Parse error: syntax error, unexpected T_STRING in /mnt/106/sdc/d/a/karatenergy/V3/rss.php on line 1
parceque PHP n'aime pas le <?xml....?>
Le PHP --> C'est dur !
Remplace ton <?xml version="1.0"?> par un :
<?php
echo '<?xml version="1.0"?>';
?>
le 15/10/2006 à 14:40
Keika
ok merci LA_GLOBULE. ca fonctionne effectivement.
Mais maintenant ca ne m 'affiche pas les accents... une histoire d'encodage je suppose...
Le PHP --> C'est dur !
le 15/10/2006 à 14:58
Keika
ok j'ai resolu le probleme d'accent et mon flux est valide, cependant il y a quelques warnings, qui sont :
#
Feeds should not be served with the "text/html" media type [help]
#
Your feed appears to be encoded as "iso-8859-1", but your server is reporting "US-ASCII" [help]
#
line 18, column 13: item should contain a guid element (2 occurrences) [help]
</item><item>
pour les deux premiers je n'ai aucune idee, pour le dernier j'ai essaye de mettre un <guild> mais le probleme est que, si j'ai bien compris, je dois mettre une adresse unique qui cible l'objet du fil.
Seulement je n'ai pas ca sur mon site, puisque mes news s'affichent sur la page d'accueil et rien d'autre.
Une idee ?
Le PHP --> C'est dur !
Pour le premier, c'est assez simple : le type mime que le serveur renvoie ne correspond pas au type de média envoyé. Il faudrait que ce soit un truc du style : application/rdf+rss Regarde la commande header, ou comment configurer Apache pour qu'il envoie le bon type mime.
Pareil pour le second. Problème de configuration de ton serveur.
En ce qui concerne l'erreur de validation du flux en tant que telle : mets un identifiant dans ton HTML (id="toto") ce qui donnera comem guid : http://monsite/news#toto
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
pour guid, si tu peut afficher tes news avec une url du genre index.php?news=44 c'est bon ta une url différente a chaque fois :)
@+
Il en faut peu pour être heureux !!!!!
le 16/10/2006 à 16:43
Keika
non justement je n'ai pas d'url de ce genre.
Mon script affiche les differentes news apres avoir ete les chercher dans la bdd.
Le PHP --> C'est dur !