|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 11:43 Sujet du message: Probleme flux rss |
|
|
Salut tout le monde !
Bon j'ai un petit souci, j'ai passé la nuit dessu et finalement j'ai toujours pas trouver d'ou venais l'erreur
J'ai installer un flux RSS en php sur mon site... jusque la tout va bien.
Seulement voici ce que me donne mon fluxrss
http://www.informatique-inside.com/news/fluxrss.xml
J'ai uniquement les titres des derrnieres news, mais pas le liens qui correspond !
Voici une partie de mon code rss.php
| Code: |
while($lig=mysql_fetch_assoc($resultat_requete)){
$titre=$lig["titre"];
$adresse=$lig["http://www.informatique-inside.com"];
$id=$lig["id"];
$contenu=$lig["contenu"];
$date=$lig["date"];
$datephp=date("D, d M Y H:i:s +0100", $date);
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= '<guid>'.$adresse.'</guid>';
$xml .= '<pubDate>'.$datephp.'</pubDate>';
$xml .= '<description></description>';
$xml .= '</item>'; |
Sur internet explorer, j'ai le format XML directement avec ce message ...
- <item>
<title>Nouveau réseau P2P sécurisé, Omemo, par le créateu</title>
<link />
<guid />
<pubDate>Thu, 01 Jan 1970 01:00:00 +0100</pubDate>
<description />
</item>
Finalement j'ai que le titre qui fonctionne, même l'heure, ça ne correspond pas !
Une petite aide ?
Merci  |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 12:10 Sujet du message: Probleme flux rss |
|
|
Salut,
Pour éviter qu'il n'y ait que le titre, faut compléter la description qui devrait contenir $contenu.
Ensuite pour l'url ce truc là me semble bizarre :
| Code: |
| $adresse=$lig["http://www.informatique-inside.com"]; |
Tu as nommé un champ "http://www.informatique-inside.com ?
Pour les fonctions de date je ne sais pas mais ta manipulation est de toute façon biscornue ...
++ |
|
| |
|
 |
Jeviensderio WRInaute accro

Inscrit le: 29 Sep 2006 Messages: 1259
|
Posté le : Jeu Déc 27, 2007 12:32 Sujet du message: Probleme flux rss |
|
|
Problème de format ce qui fait que le texte est coupé quand il rencontre un accent.
Il faudrait convertir au format RSS en général UTF-8.
On peut aussi écrire plus simplement:
$xml .= "<title>$titre</title>";
(noter les doubles guillemets) |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 12:38 Sujet du message: Probleme flux rss |
|
|
| Citation: |
On peut aussi écrire plus simplement:
$xml .= "<title>$titre</title>"; |
C'est plus simple mais même avec une concaténation les quotes sont plus rapides à l'exécution que les guillemets doubles. La différence est minime mais je n'ai plus les chiffres en tête ...
++ |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 12:57 Sujet du message: Probleme flux rss |
|
|
En faite j'ai mis
| Code: |
| $adresse=$lig["http://www.informatique-inside.com"]; |
pour l'essaie ...
Normalement ça devrais plutôt être:
| Code: |
| $adresse=$lig["http://www.informatique-inside.com//news/affichage.php?action=voir&id='id'"]; |
Pour l'encodage UTF-8 j'ai remplacer par
| Code: |
| $xml = '<?xml version="1.0" encoding="iso-8859-1" ?>'; |
pour que les caracteres spéciaux soit autorisé.
En revanche je comprend pas pourquoi mes variable de description au dessu fonctionne, et pas celle du flux en lui même :/
Pourtant j'ouvre et je referme bien les balises <link></link> etc ... |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 13:22 Sujet du message: Probleme flux rss |
|
|
| Citation: |
Normalement ça devrais plutôt être:
$adresse=$lig["http://www.informatique-inside.com/news/affichage.php?action=voir&id='id'"]; |
Soit je suis à la masse, soit le code que tu nous donnes pour t'aider ne correspond pas à celui que tu utilises vraiment, soit tu mélanges tout.
$lig c'est un tableau des résultats retournés par ta requête. Pour accéder à la valeur que contient chaque champ tu fais $lig['nom_champ'], or ça m'étonnerait que tu ais nommé un champ de cette manière donc cette variable devrait causer une erreur.
A mon avis ce que tu veux faire c'est plutôt :
| Code: |
| $adresse = 'http://www.informatique-inside.com/news/affichage.php?action=voir&id='.$id.''; |
| Citation: |
| Pourtant j'ouvre et je referme bien les balises <link></link> etc ... |
Oui mais s'il n'y a rien dedans ça n'ira pas
Maintenant pour ta description faut voir l'encodage de caractères comme l'a souligné jeviensderio et la version rss que tu déclares.
Ce serait plus facile de t'aider avec le code complet tel que tu l'utilises ...
++ |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 13:33 Sujet du message: Probleme flux rss |
|
|
Oula je mélange tout moi
Bon alors en effet, voici mon code rss.php qui genere mon fluxrss:
| Code: |
<?php
$xml = '<?xml version="1.0" encoding="iso-8859-1" ?>';
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>Informatique inside</title>';
$xml .= '<link>http://www.informatique-inside.com</link>';
$xml .= '<description>Actualite web et securite</description>';
$xml .= '<copyright> Informatique-inside 2007</copyright>';
$xml .= '<language>fr</language>';
$xml .= '<image>';
$xml .= ' <title>Actualite</title>';
$xml .= ' <url>http://pretty-rss.snyke.com/img/pretty-rss-button.png</url>';
$xml .= ' <link>http://www.informatique-inside.com</link>';
$xml .= '</image>';
$today= date("D, d M Y H:i:s +0100");
//date du jour d'execution du fichier PHP
$xml .= '<pubDate>'.$today.'</pubDate>';
require ('XXXXPATHXXXX');
// Faîtes appel à vos fichier de connection à votre base de donnée MySQL
// Adaptez ces lignes à votre base de données / noms de table
$resultat_requete=mysql_query("SELECT titre, id FROM news_ ORDER BY date DESC limit 0, 10");
// extraction des 10 dernières nouvelles
while($lig=mysql_fetch_assoc($resultat_requete)){
$titre=$lig["titre"];
$adresse="http://www.informatique-inside.com";
$id=$lig["id"];
$contenu=$lig["contenu"];
$date=$lig["date"];
$datephp=date("D, d M Y H:i:s +0100", $date);
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= '<guid>'.$adresse.'</guid>';
$xml .= '<pubDate>'.$datephp.'</pubDate>';
$xml .= '<description></description>';
$xml .= '</item>';
}//fin du while
$xml .= '</channel>';
$xml .= '</rss>';
$fp = fopen("fluxrss.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
echo 'Export XML effectue !<br /><a href="fluxrss.xml">Voir
le fichier</a>';
?>
|
Dernière édition par Thibow le Jeu Déc 27, 2007 13:38; édité 1 fois |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 13:37 Sujet du message: Probleme flux rss |
|
|
Bon y' aun mieux, j'arrive a rediriger tout sur le site en index.
Par contre ma variable id n'est pas pris en compte  |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 13:44 Sujet du message: Probleme flux rss |
|
|
Normal elle est déclarée après que tu l'appelles dans la variable adresse.
Intervertis les deux :
| Code: |
$id=$lig["id"];
$adresse='http://www.informatique-inside.com/news/affichage.php?action=voir&id='.$id.''; |
Je regarde pour le reste  |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 13:49 Sujet du message: Probleme flux rss |
|
|
Merci pour ton aide en tout cas !!
Bon j'ai intervertis, mais le flux n'apparaît plus :/
J'ai intervertis comme ça hein
| Code: |
while($lig=mysql_fetch_assoc($resultat_requete)){
$titre=$lig["titre"];
$id=$lig["id"];
$adresse = "http://www.informatique-inside.com/news/affichage.php?action=voir&id='.$id.";
$contenu=$lig["contenu"];
$date=$lig["date"];
$datephp=date("D, d M Y H:i:s +0100", $date);
|
http://www.informatique-inside.com/news/fluxrss.xml  |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 13:50 Sujet du message: Probleme flux rss |
|
|
Pour la description ça irait mieux comme ça (si le champ contenu existe et qu'il contient bien la description en question) :
| Code: |
$resultat_requete=mysql_query("SELECT titre, id,contenu FROM news_ ORDER BY date DESC limit 0, 10");
// extraction des 10 dernières nouvelles
while($lig=mysql_fetch_assoc($resultat_requete)){
$titre=$lig["titre"];
$id=$lig["id"];
$adresse = 'http://www.informatique-inside.com/news/affichage.php?action=voir&id='.$id.'';
$contenu=$lig["contenu"];
$date=$lig["date"];
$datephp=date("D, d M Y H:i:s +0100", $date);
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= '<guid>'.$adresse.'</guid>';
$xml .= '<pubDate>'.$datephp.'</pubDate>';
$xml .= '<description>'.$contenu.'</description>';
$xml .= '</item>';
}//fin du while |
Par contre pour les caractères spéciaux i dont know ... |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 13:51 Sujet du message: Probleme flux rss |
|
|
Remplace les double guillemets par des simples :
| Code: |
| $adresse = 'http://www.informatique-inside.com/news/affichage.php?action=voir&id='.$id.''; |
++ |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 14:00 Sujet du message: Probleme flux rss |
|
|
Merci merci !
Bon malheuresement marche pas :/
le probleme viens de la variable id je crois :s |
|
| |
|
 |
SuperCureuil WRInaute impliqué

Inscrit le: 09 Mar 2007 Messages: 496 Localisation: Bxl, Belgique
|
Posté le : Jeu Déc 27, 2007 14:03 Sujet du message: Probleme flux rss |
|
|
Fais voir la structure de ta table news_ avec une ligne de données qu'elle contient.
Ton flux fonctionne avec netvibes mais il ne renvoie pas vers les bons articles puisque la variable id n'est pas précisée.
Normalement elle devrait être interprêtée correctement avec l'exemple que je t'ai donné. As tu bien mis des guillemets simples partout pour la variable adresse ?
++
Dernière édition par SuperCureuil le Jeu Déc 27, 2007 14:12; édité 1 fois |
|
| |
|
 |
Thibow Nouveau WRInaute
Inscrit le: 27 Déc 2007 Messages: 14
|
Posté le : Jeu Déc 27, 2007 14:12 Sujet du message: Probleme flux rss |
|
|
Okay, merci d'être aussi patient l'ami !!
Voici la structure de la table news_
| Code: |
-- Structure de la table `news_`
--
CREATE TABLE `news_` (
`id` int(11) NOT NULL auto_increment,
`titre` varchar(50) NOT NULL,
`texte` text NOT NULL,
`name` varchar(50) NOT NULL,
`date` date NOT NULL,
`commentaires` varchar(9) default NULL,
`valide` varchar(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
|
Et un exemple d'occurence:
| Code: |
INSERT INTO `news_` (`id`, `titre`, `texte`, `name`, `date`, `commentaires`, `valide`) VALUES (1, 'blablabla contenu de la news', '1', '2007-12-17', '', ''),
|
A savoir que les champs commentaires, name et valide n'ont rien a voir, c'est juste les commentaires des visiteurs et la validation etc ... bref  |
|
| |
|
 |
| |
|
|