[PHP] Problème RSS et Tableau

Résolu/Fermé
isagaw Messages postés 13 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 24 janvier 2010 - 31 juil. 2007 à 20:41
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 1 août 2007 à 14:16
Bonjour,
Je voulais créer un fil RSS sur mon site, mais j'ai un problème lorsque l'ont s'y inscrit, il me marque problème de chargement.

Voilà le code source de ma page rsstuto.php :

<?php
        Header("content-type: application/xml");
        // En-tête
        echo "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?".">
        <rss version=\"2.0\">
           <channel>
                  <title>Flux RSS de terragen analyse</title>
                  <link>http://nrcom.free.fr</link>
                  <description>Tutos de terragen</description>
        ";
       
        include('listetutos.php');
       
        $id=1;
        foreach($listeTutos as $element) {
                echo '   <item>
                  <title>'. $element .'</title>
                  <link>http://nrcom.free.fr/tuto.php?ref=ter&id=' . ($id) . '</link>
                  <pubDate>' . $dateTutos[($id - 1)] .'</pubDate>
                  <source url="http://nrcom.free.fr">http://nrcom.free.fr</source>
           </item>
        ';
                $id++;
        }
        echo '   </channel>
        </rss>
        ';

?> 


J'ai réutilisé un code qui marchait sur mon ancien site, à ceci près que je ne recherche plus les entrées dans une base de données, mais dans un array qui se trouve dans la page incluse listetutos.php. Rien d'anormal du coté de cette page, elle est appelé à d'autre endroit, et elle foncionne parfaitement, et ne contient que trois array.

Où est-ce que ça bloque, s'il vous plait ?

3 réponses

Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
31 juil. 2007 à 22:51
Salut.

Est-ce que tu peux montrer le code de "listetutos.php" ou donner l'adresse de ta page ?
La seule erreur que je vois est la balise source, mais ce n'est peut-être pas une erreur, je ne m'y connais pas beaucoup.
-1
isagaw Messages postés 13 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 24 janvier 2010
1 août 2007 à 11:19
L'adresse de la page est http://nrcom.free.fr/listetutos.php , mais rien ne s'affiche puisqu'il n'y a que du php.

Sinon voilà le code source de cette page :

<?php
	$listeTutos = array('Le logiciel terragen : les bases', 'Utilisation de la caméra', 'Enregistrement sous Terragen');
	$auteurTutos = array('Isagaw', 'Isagaw', 'Isagaw');
	$dateTutos = array('07/07/07', '14/07/07', '20/07/07');
?>


Sinon, j'ai suivit ton idée que mon code xml était mal agencée, j'ai donc supprimmé la balise source, mais aussi la balise pubDate, parce que je n'étais pas sur du format à utiliser pour cette balise. Je crois qu'il faut mettre la date et l'heure, mais je n'ai que la date à disposition.

Voilà mon nouveau code, plus court, c'est dommage, mais bon ... :

<?php
	Header("content-type: application/xml");
	// En-tête
	echo "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?".">
	<rss version=\"2.0\">
	   <channel>
		  <title>Flux RSS de terragen analyse</title>
		  <link>http://nrcom.free.fr</link>
		  <description>Tutos de terragen</description>
	";
	
	include('listetutos.php');
	
	$id=1;
	foreach($listeTutos as $element) {
		echo '   <item>
		  <title>'. $element .'</title>
		  <link>http://nrcom.free.fr/tuto.php?ref=ter&id=' . ($id) . '</link>
	   </item>
	';
		$id++;
	}
	echo '   </channel>
	</rss>
	';

?> 

Maintenant, le fil RSS remarche.
J'essaierais de lire des tutos si j'ai le temps pour apprendre à remettre correctement les balises que j'ai enlevé :)

Merci beaucoup pour ton aide :D
-1
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
1 août 2007 à 14:16
Oui, c'est possible aussi que ce soit à cause de la balise PubDate.
La syntaxe est assez compliquée et pas facile à retenir.

Mais il y a beaucoup de tutos sur le net pour ça.
regarder sur le w3c, alsacreations, ou encore google.
-1