IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire de gestion flux RSS


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Formulaire de gestion flux RSS
    Bonjour,

    C'est les yeux larmoyants que je rédige ici mon premier poste aprés plusieurs recherches sans succés.

    Je travaille actuellement sur un projet dont le but final est de générer un fichier de flux rss grâce à un formulaire PHP.

    Ce fichier est ensuite actualisé par le biais d'autres formulaires.


    Pour actualiser le flux, j'utilise la même fonction. C'est simple, je me contente de récupérer les données entrées dans ma base via les formulaires puis j'écrase l'actuel fichier xml pour le remplacer par le contenu récupéré.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php
     
    function update_fluxRSS() {
    	$xml = '<?xml version="1.0" encoding="UTF-8"?>';
    	$xml .= '<rss version="2.0">';
    	$xml.= '<channel>';
    	$xml .='<title>Maintenances et Incidents</title>';
    	$xml .='<link>http://127.0.0.1:8080/my%20portable%20files/FEEDZF.xml</link>';
    	$xml .='<description>Ceci est un flux de test.</description>';
     
    $index_selection = 0;
    $limitation = 25;
     
    try {
    	$bdd = new PDO('mysql:host=localhost;dbname=flux_rss', 'root', '');
    }
    catch(Exception $e) {die('Erreur : '.$e->getMessage());}
    $reponse = $bdd->prepare('SELECT * FROM flux_rss ORDER BY pubDate DESC LIMIT :index_selection, :limitation') or die(print_r($bdd->errorInfo()));
    $reponse->bindParam('index_selection', $index_selection, PDO::PARAM_INT);
    $reponse->bindParam('limitation', $limitation, PDO::PARAM_INT);
    $reponse->execute();
     
    while ($donnees = $reponse->fetch())
    {
    	$xml .= '<item>';
    	$xml .= '<title>'.stripcslashes($donnees['TITLE']).'</title>';
    	$xml .='<link>'.$donnees['LINK'].'</link>';
    	$xml .='<pubDate>'.(date("D, d M Y H:i:s O", strtotime($donnees['PUBDATE']))).'</pubDate>';
    	$xml .= '<description>'.stripcslashes($donnees['DESCRIPTION']).'</description>';
    	$xml .= '</item>';
    }
     
    $reponse->closeCursor();
     
    $xml .= '</channel>';
    $xml .= '</rss>';
     
    $fp = fopen("FEEDZF.xml", 'w+');
     
    fputs($fp, $xml);
     
    fclose($fp);
     
    }
    ?>

    Jusqu' ici tout baigne. Les échanges entre les formulaires PHP, ma BDD et le fichier de flux via cette fonction sont impecs.

    Problème: lorsque je souhaite consulter mon fichier de flux, il semble garder en mémoire l'ancien fichier. Et les nouvelles données ainsi que les données supprimées ne sont pas affichées.

    Ce comportement a été repéré sur le lecteur de flux d'internet explorer 8.0 ainsi que sur le lecteur de flux Feed Notifier. (à noter que Feed Notifier gère bien l'ajout d'items mais pas la suppression).

    Ainsi, je suis perdu face à ce problème: est-ce un comportement normal pour les lecteurs de flux? Pourquoi le lecteur de flux garde t-il en mémoire mon ancien fichier xml et ne parviens pas à la différencier du nouveau? Y aurait-il une solution pour identifier un fichier de flux et forcer l'actualisation de mes lecteurs?

    Je suis conscient que le problème ne vient probablement pas du PHP mais il est à la base de ce projet.

    Merci d'avance à ceux qui m'auront suivi, je ne suis pas certain d'avoir été clair et précis. Je reste dispo pour toutes précisions ajout de sources ou questions.

  2. #2
    Membre confirmé
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Points : 580
    Points
    580
    Par défaut
    Bonjour,

    comme lecteur de flux, j'ai longtemps utilisé Google Reader et maintenant je suis sur NewsBlur. Pour ce qui est des items modifiés, ils sont souvent ignorés.

    Pour les ajouts qui n'apparaissent pas dans IE, c'est peut-être qu'il a un long délai avant de revérifier le site. IE ne devrait pas pooler trop souvent les sites web.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci de ta réponse.

    Je pense également aprés plusieurs tests qu'il est question d'une identification du fichier rss par le navigateur.

    Aprés avoir modifié le fichier de flux: internet explorer ne prend pas en compte les modifications et affiche le même contenu qu'au départ.

    A l'inverse: aprés avoir modifié le fichier de flux puis changé la racine du fichier: le lecteur de flux prend directement en compte les modifications.

    D'aprés moi, les lecteurs de flux identifient un fichier de flux et le gardent en mémoire ce qui poserait un problème bloquant pour mon projet.

    Actuellement mon programme crée un nouveau fichier de flux à chaque modification de la base, je ne comprend pas ce qui pourrait bloquer les lecteurs de flux dans ce procédé.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Octobre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Octobre 2013
    Messages : 31
    Points : 14
    Points
    14
    Par défaut Syntax error perpetuelle
    Bonsoir,

    Je mets en place un flux rss sur les bases du script d'update cité plus haut.
    Mon problème est récurrent.
    J'ai systématiquement l'erreur suivante :

    Parse error: syntax error, unexpected '{' in /xxxxz.xxx/xxx/www/mettre_a_jour_rss.php on line 14
    alors que je ne change rien à part les identifiants de connexion.
    J'ai même essayé avec un copier/coller intégral du script de LicorneXD, sans changer une seule lettre. (c'est exactement la même fonction)
    est-ce que ça pourrait venir d'autre chose que de moi, OVH peut-être?

    J'ai le même problème dès que j'utilise pdo et toujours la même erreur, une histoire d'accolade..

    C'est un mystère...

Discussions similaires

  1. Gestion et mise en page des flux RSS
    Par Dennis Nedry dans le forum QlikView
    Réponses: 4
    Dernier message: 23/03/2009, 14h04
  2. [XML] [DELPHI 2005] [RSS] Gestion flux RSS
    Par djdge dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/05/2007, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo