PHP

Flux RSS

Non Résolu

Bonjour

Quelqu'un peut-il m'aider à faire un flux RSS pour mon site ?

Merci

Luca🙈

551 vues
09 avril 2020 à 5:27 (Édité)
Cette pub permet au site de vivre ...

5 commentaires

Re:


Utilise les balises à dispositions pour les messages d'erreurs, les codes et les images ! 😬 (j'ai réédité ton commentaire)

Premièrement, désinstalle Wamp avec Revo Uninstaller... Pourquoi ? Voir ceci 😉 Installe ensuite XAMPP et mes tes projets dans le dossier "htdocs" (je n'ai pas besoin de te dire de sauvegarder tes projets avant la désinstallation de Wamp) 😉

Si t'es pressé c'est pas la peine d'apprendre la programmation car c'est en allant vite que tu feras le plus d'erreurs... 🙃


Voilà le code correct pour le fichier "rss.php" :


<?php
header('Content-Type: application/rss+xml');
$bdd = new PDO('mysql:host=127.0.0.1;dbname=flux_rss;charset=utf8','root','');
$articles = $bdd->query('SELECT * FROM articles ORDER BY date_time_post DESC LIMIT 0,25');
$lastBuildDate = $bdd->query('SELECT date_time_post FROM articles ORDER BY date_time_post DESC LIMIT 0,1');
$lastBuildDate = $lastBuildDate->fetch()['date_time_post'];
?>
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Example.org</title>
        <description>Ceci est un exemple de flux RSS 2.0</description>
        <lastBuildDate><?= date(DATE_RSS, strtotime($lastBuildDate)) ?></lastBuildDate>
        <link>http://www.example.org</link>
        <?php while($a = $articles->fetch()) { ?>
        <item>
            <title><?= $a['titre'] ?></title>
            <description><?= substr($a['contenu'], 0, 1000).'...' ?></description>
            <pubDate><?= date(DATE_RSS, strtotime($a['date_time_post'])) ?></pubDate>
            <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            <image>
               <url>http://www.example.org/miniatures/<?= $a['id'] ?>.jpg</url>
               <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            </image>
        </item>
        <?php } ?>
    </channel>
</rss>


Voilà également le code pour le fichier HTACCESS :


RewriteEngine on
RewriteRule ^rss.xml$ /chemin/vers/rss.php [L]


Le chemin vers le fichier "rss.php" doit se faire après l'adresse IP 127.0.0.1. Par exemple, si "rss.php" est dans le dossier "test" puis "rss", tu écris /test/rss/rss.php. Vérifie également que mod_rewrite soit bien actif dans tes modules Apache, et évite les espaces dans les noms de fichiers et dossiers qui pourraient faire bugger la réécriture d'URL 😉

Dsl j'étais presser. G fait comme tu m'as dit et g regardé le tuto de Boris. Et j'ai fait comme lui mais g une erreur. Voici l'erreur : Parse error: syntax error, unexpected 'Content' (T_STRING), expecting ')' in C:\wamp64\www\flux.php on line 4


Et voici mon code :


<meta charset="utf-8" />
<?php
$bdd = new PDO('mysql:host=localhost;dbname=espace_commentaire <?php
header('Content-Type: application/rss+xml');
$bdd = new PDO('mysql:host=127.0.0.1;dbname=flux_rss;charset=utf8','root','');
$articles = $bdd->query('SELECT * FROM articles ORDER BY date_time_post DESC LIMIT 0,25');
$lastBuildDate = $bdd->query('SELECT date_time_post FROM articles ORDER BY date_time_post DESC LIMIT 0,1');
$lastBuildDate = $lastBuildDate->fetch()['date_time_post'];
?>
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Example.org</title>
        <description>Ceci est un exemple de flux RSS 2.0</description>
        <lastBuildDate><?= date(DATE_RSS, strtotime($lastBuildDate)) ?></lastBuildDate>
        <link>http://www.example.org</link>
        <?php while($a = $articles->fetch()) { ?>
        <item>
            <title><?= $a['titre'] ?></title>
            <description><?= substr($a['contenu'], 0, 1000).'...' ?></description>
            <pubDate><?= date(DATE_RSS, strtotime($a['date_time_post'])) ?></pubDate>
            <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            <image>
               <url>http://www.example.org/miniatures/<?= $a['id'] ?>.jpg</url>
               <link>http://www.example.org/?id=<?= $a['id'] ?></link>
            </image>
        </item>
        <?php } ?>
    </channel>
</rss>','root','');
if(isset($_GET['id']) AND !empty($_GET['id'])) {
   $getid = htmlspecialchars($_GET['id']);
   $article = $bdd->prepare('SELECT * FROM articles WHERE id = ?');
   $article->execute(array($getid));
   $article = $article->fetch();
   if(isset($_POST['submit_commentaire'])) {
      if(isset($_POST['pseudo'],$_POST['commentaire']) AND !empty($_POST['pseudo']) AND !empty($_POST['commentaire'])) {
         $pseudo = htmlspecialchars($_POST['pseudo']);
         $commentaire = htmlspecialchars($_POST['commentaire']);
<?php
header('Content-Type: application/rss+xml');
$bdd = new PDO('mysql:host=localhost;dbname=flux_rss;charset=utf8','root','');
$articles = $bdd->query('SELECT * FROM articles ORDER BY date_time_post DESC LIMIT 0,25');
$lastBuildDate = $bdd->query('SELECT date_time_post FROM articles ORDER BY date_time_post DESC LIMIT 0,1');
$lastBuildDate = $lastBuildDate->fetch()['date_time_post'];
?>
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Example.org</title><description>Ceci est un exemple de flux RSS 2.0</description><lastBuildDate><?= date(DATE_RSS, strtotime($lastBuildDate)) ?></lastBuildDate><link></link><?php while($a = $articles->fetch()) { ?><item><title><?= $a['titre'] ?></title><description><?= substr($a['contenu'], 0, 1000).'...' ?></description><pubDate><?= date(DATE_RSS, strtotime($a['date_time_post'])) ?></pubDate><link>https://luca-vidiri05-mon-site.000webhostapp.com/?id=<?= $a['id'] ?></link><image><url>https://luca-vidiri05-mon-site.000webhostapp.com/<?= $a['id'] ?>.jpg</url><link>https://luca-vidiri05-mon-site.000webhostapp.com/?id=<?= $a['id'] ?></link></image></item><?php } ?></channel>
</rss>


Re:


Merci je préfère cela, parce que les trucs du style "G PAS LU" ça revient à du troll... 🙃

On ne pourra pas te fournir du code tout fait, on pourra seulement t'aider à débugger 😉

Si tu as du mal avec le tutoriel de Jonathan, je te renvoie vers celui de Boris 😉

Ensuite une fois que tu as visionné attentivement le tutoriel, reviens sur ton topic avec ton code si tu as un problème quelconque 😉

Coucou, oui j'ai vu la vidéo mais je n'ai pas compris donc je ne pas commencer mon code

Hello @Luca-vidiri46,


Tout d'abord, as-tu visionner le tutoriel consacré à cela de Jonathan ? 🤔

N'hésite pas à nous montrer ton code, si tu as commencé à coder... 😉

Cette pub permet au site de vivre ...