Question

J'ai créé un flux RSS en php en utilisant le code ci-dessous. J'ai vérifié deux fois toutes les variables (nom d'utilisateur et mot de passe) et elles sont correctes. mysql est également configuré correctement. Je viens d'avoir une page blanche quand j'essaie de voir cela localement sur mon ordinateur en utilisant mamp. toute aide serait appréciée .. ce code a-t-il l'air correct et y a-t-il autre chose que je devrais utiliser pour afficher ceci autre que mamp?

<? header('Content-type: text/xml'); ?>
 
<?php
$dbhost = "localhost"; // almost always localhost.
$dbname = "links"; // Database Name
$dbuser = "root"; // Database Username
$dbpass = "password"; // Databse Password
 
$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database
mysql_select_db($dbname) or die (mysql_error()); // Selecting Database
?> 
 
<rss version="2.0">
<channel>
    <title> </title>
    <description> </description>
    <link></link>

<?
$sql = "SELECT * FROM news limit 5";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
?>
 
<item>
     <title><?=$row['title']; ?></title>
     <author><?=$row['author']; ?></author>
     <link>http://MYSITE.com/news.php?id=<?=$row['id']; ?></link>
</item>
 
<?
}
?>
 
</channel>
</rss>
Était-ce utile?

La solution

Quelques choses à essayer:

  1. Consultez les journaux.
  2. Déplacez l'appel vers le haut header() avant la sortie.
  3. Supprimez les <blockquote> balises.
  4. Ajoutez une instruction de traitement (<?xml version="1.0"?>) en haut, avant l'élément <rss>.
  5. Remplacez l'en-tête content-type de text/xml par application/xml.

Autres conseils

Lorsque je copie ce code et que je modifie les paramètres MySQL pour utiliser une base de données qui existe réellement pour ma configuration de MAMP, cela fonctionne correctement pour moi, avec 0 éléments car la table n'existe pas dans la base de données. En d'autres termes, il semble que quelque chose ne va pas avec votre configuration MAMP, pas votre code. Êtes-vous absolument sûr que votre serveur MySQL fonctionne et que vous avez les bonnes informations pour vous y connecter?

Dans MAMP, vous pouvez accéder au journal des erreurs PHP en ouvrant le panneau MAMP et en cliquant sur Serveur > PHP & Gt; Afficher le journal. Selon votre configuration, vous pouvez obtenir une sortie vierge lorsqu'une erreur se produit. L'erreur peut vous aider à aller dans la bonne direction.

Je me demande si toute votre sortie est échappée correctement. Les données de votre table mysql contiennent-elles des caractères à traiter spécialement?

Si vous avez installé la cli PHP, vous pouvez l’utiliser pour tester des choses. Vous verrez parfois des choses que vous ne verrez pas dans un navigateur Web ou un client RSS.

J'utilise feedcreator http://feedcreator.org/ pour toute ma génération RSS sous PHP. Je trouve généralement qu'il est plus facile d'utiliser une bibliothèque. J'ai posté un exemple ici .

Vous pouvez également envisager de désactiver la balise short_tags. Parce que vous essayez réellement de sortir du XML, vous risquez de créer des choses confuses. Surtout si vous essayez d'envoyer quelque chose comme "" en haut de votre page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top