создание RSS-канала в php (просмотр в mamp) - PullRequest
0 голосов
/ 02 марта 2009

Я создал RSS-канал в php, используя приведенный ниже код. Я дважды проверил все переменные (то есть имя пользователя и пароль), и они верны. mysql также настроен правильно. я просто получаю пустую страницу, когда я пытаюсь просмотреть это локально на моем компьютере, используя mamp. любая помощь будет оценена .. этот код выглядит правильно, и есть ли что-то еще, что я должен использовать, чтобы просмотреть это, кроме 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>

Ответы [ 4 ]

1 голос
/ 02 марта 2009

Несколько вещей, чтобы попробовать:

  1. Проверьте журналы.
  2. Переместите вызов на header() наверх, перед выводом.
  3. Удалите теги <blockquote>.
  4. Добавьте инструкцию обработки (<?xml version="1.0"?>) вверху, перед элементом <rss>.
  5. Измените заголовок content-type с text/xml на application/xml.
0 голосов
/ 02 марта 2009

Интересно, все ли выходные данные правильно экранированы? Содержат ли данные в вашей таблице mysql какие-либо символы, которые должны обрабатываться специально?

Если у вас установлен PHP cli, вы можете попробовать использовать его для тестирования. Иногда вы увидите вещи, которые не увидите через веб-браузер или RSS-клиент.

Я использую feedcreator http://feedcreator.org/ для всех моих генераций RSS под PHP. Я вообще считаю, что проще использовать библиотеку. Я разместил пример здесь .

Возможно, вы захотите отключить short_tags. Поскольку вы на самом деле пытаетесь вывести XML, возможно, вы путаете вещи. Особенно, если вы попытаетесь отправить что-то вроде '' вверху вашей страницы.

0 голосов
/ 02 марта 2009

В MAMP вы можете получить доступ к журналу ошибок PHP, открыв панель MAMP и щелкнув Сервер> PHP> Просмотр журнала. В зависимости от настроек вы можете получить пустой вывод при возникновении ошибки. Ошибка может помочь привести вас в правильном направлении.

0 голосов
/ 02 марта 2009

Когда я копирую этот код и изменяю настройки MySQL, чтобы использовать базу данных, которая фактически существует для моей настройки MAMP, это прекрасно работает для меня, с 0 элементами, так как таблица не существует в БД. Другими словами, кажется, что что-то не так с вашей настройкой MAMP, а не с вашим кодом. Вы абсолютно уверены, что ваш сервер MySQL работает, и у вас есть правильная информация для подключения к нему?

...