Frage

Ich habe einen RSS-Feed in PHP mit dem folgenden Code erstellt. Ich habe doppelt alle Variablen (das heißt Benutzername und Passwort) überprüft und sie sind richtig. mysql korrekt als gut eingerichtet. Ich bin immer nur eine leere Seite, wenn ich versuche, dies mit MAMP lokal auf dem Computer anzuzeigen. jede mögliche Hilfe würde geschätzt .. tut dieser Code aussieht richtig, und es ist etwas anderes soll mir diese andere als MAMP ansehen zu verwenden?

<? 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>
War es hilfreich?

Lösung

Ein paar Dinge zu versuchen:

  1. Überprüfen Sie die Protokolle.
  2. Bewegen Sie den Anruf an die Spitze header(), vor der Ausgabe.
  3. Entfernen der <blockquote> Tags.
  4. Fügen Sie eine Verarbeitungsanweisung (<?xml version="1.0"?>) an der Spitze, vor dem <rss> Elemente.
  5. Ändern Sie den content-type Header von text/xml application/xml.

Andere Tipps

Wenn ich diesen Code und ändert um die MySQL-Einstellungen kopieren, um eine Datenbank zu verwenden, die für mein Setup von MAMP tatsächlich existiert, das für mich gut funktioniert, mit 0 Produkten, da die Tabelle in der DB nicht vorhanden ist. Mit anderen Worten, wie es scheint etwas mit Ihrer MAMP Einstellung falsch ist, nicht der Code. Sind Sie absolut sicher, dass Ihr MySQL-Server ausgeführt wird, und Sie haben die richtigen Informationen für daran anschließen?

In MAMP können Sie auf der PHP-Fehlerprotokoll erhalten, indem das MAMP-Panel zu öffnen, und klicken Sie Server> PHP> View Log. Je nach Konfiguration können Sie leere Ausgabe erhalten, wenn ein Fehler auftritt. Der Fehler helfen Ihnen in die richtige Richtung führen kann.

Ich frage mich, ob alle Ihre Ausgaben auch richtig maskiert wird immer. Enthält die Daten in Ihrem MySQL-Tabelle alle Zeichen enthalten, die speziell behandelt werden müssen?

Wenn Sie die PHP cli installieren Sie könnten versuchen, dass die Verwendung zum Testen Dinge. Manchmal werden Sie die Dinge sehen, dass Sie nicht einen Web-Browser oder RSS-Client sehen durch.

Ich verwende feedcreator http://feedcreator.org/ für alle meine RSS Generation unter PHP. Ich finde es im Allgemeinen einfacher ist, eine Bibliothek zu verwenden. Ich gab ein Beispiel hier .

Sie können auch short_tags deaktivieren zu betrachten. Weil Sie versuchen, tatsächlich zur Ausgabe von XML, könnten Sie eigentlich verwirrende Dinge sein. insbesondere, wenn Sie versuchen, so etwas wie ‚‘ am oberen Rand der Seite senden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top