Bonjour à tous,

Je viens vous demander vos lumière sur la création d'un flux rss à partir d'un formulaire. Je précise que j'utilise un script trouvé sur codes sources ( http://codes-sources.commentcamarche.net/faq/578-cree-un-flux-rss-a-partir-d-un-formulaire ).

J'arrive à créer le fichier xml sans problème, mais à chaque fois que j'ajoute une nouvelle information, mon fichier xml existant est écrasé puis généré avec seulement la nouvelle information.

J'ai essayé de remplacer la valeur d'écriture fopen, mais le script plante.

Voici les fichiers que j'utilise :

index.php :
<html>
<head>
<title>Editeur RSS</title>

<link rel="stylesheet" href="style_pages.css" type="text/css">


<body style="text-align: center">
<form  name="updaterss" id="updaterss" method="post" action="updaterss.php" >
  <fieldset class="floatleft">
    <legend>Renseignement de la nouvelle news </legend>
    <p>
      <label for="titre">Titre  : </label>
      <input class="input" name="titre" id="titre" type="text">
    </p>
    
    <p>
     <label for="lien">Lien:  Http://  </label>
     <input class="input" name="lien" id="lien" value="" type="text">
    </p>
    <p>
      <label for="date">Date : </label>
      <input class="input" name="date" id="date" value="" type="text">
    </p>
    <p>
      <label for="description">description : </label>
      <input class="input" name="description" id="description" value="" type="text" >
    </p>
   </fieldset>
   <fieldset>
     <legend>Validation</legend>
    <p>
      <label for="envoi">Envoyer : </label>
      <input value="Envoyer" type="submit">
    </p>
    <p>&nbsp;</p>
  </fieldset>
  <br>
</form>
</body>
</html>


updaterss.php :

<?php
//Fichiers d'initialisations pour avoir une entête constante.
//c'est le header, il est constant
    $rssfile = '<?xml version="1.0" encoding="iso-8859-1"?>';
    $rssfile .= '<rss version="2.0">';
    $rssfile .= '<channel>';
    $rssfile .= '<title>Mon titre</title>';
    $rssfile .= '<link>http://www.monsite.fr</link>';
    $rssfile .= '<description>Les flux rss</description>';
    $rssfile .= '<copyright>© 2006 Tyller</copyright>';
    $rssfile .= '<language>fr</language>';
    $rssfile .= '<image>';
    $rssfile .= '    <title>Logo</title>';
    $rssfile .= '    <url>http://www.monsite.fr/logo.gif</url>';
    $rssfile .= '    <link>http://www.monsite.fr</link>';
    $rssfile .= '</image>';
    $today= date("D, d M Y H:i:s +0100");
    //Wed, 16 Nov 2005 00:01:00 +0100
    $rssfile .= '<todayDate>'.$today.'</todayDate>';      
           
// Extraction des actualités
//grâce aux 4 lignes suivante, on récupère les données transmises par le fichier news
    $titre = $_POST['titre'];
    $lien = $_POST['lien'];
    $date = $_POST['date'];
    $description = $_POST['description'];
       
//Une fois les données récupérées, on crée le corps de la page xml
    $rssfile .= '<item>'; // On ajoute le code pour chaque élément
    $rssfile .= '<title>'.$titre.'</title>';
    $rssfile .= '<link>' ."http://www.".$lien."". '</link>';
    $rssfile .= '<pubDate>'.$date.'</pubDate>';
    $rssfile .= '<description>'.$description.'</description>';
    $rssfile .= '</item>';   

//On rajoute un footer constant pour terminer le canal
    $rssfile .= '</channel>';
    $rssfile .= '</rss>';
    $fichier = fopen("fluxrss.xml", 'w'); // On ouvre le fichier en mode écriture avec écrasement
    fputs($fichier, $rssfile); // On insère le code dans le fichier
    fclose($fichier); // On ferme le fichier
    echo 'Fichier créé !<br><a href="fluxrss.xml">Voir le fichier</a>'; //on indique si les fichiers ont bien été créé, et pouvons les visualiser.
?>


Merci d'avance pour votre aide !!!

Cordialement,

Kazeidesign
Bonsoir,

As-tu essayé de tout simplement ajouter la date et l'heure du moment au nom du fichier créé via fopen() ?

Normalement, avec une fonction date() insérée dans le nom de fichier et correctement paramétrée, tu ne devrais plus avoir de souci pour créer un fichier différent à chaque fois.
Bonjour et merci pour la réponse,

mais le but n'est pas de créer un document différent à chaque mais d'agrémenter le xml déjà existant d'une nouvelle information.

Cordialement,

Kazeidesign
Re-bonjour,

J'ai résolu mon problème en me basant sur le petit cms PluXml. Cela me permet de gérer les différentes informations présentent dans mon rss via une interface d'administration.

Merci audrasjb pour ton aide !

Cordialement,

Kazeidesign