Грешка с RSS

misho

Registered
По урока в сайта си направих една RSS емисия, но имам проблем - когато я добавям в Edno23 ми казва Посоченият фийд не може да бъде прочетен коректно. :lol:

Ето го кода:
Код:
<?php

$db_user = "***"; // db username
$db_pass = "***"; // db password
$db_host = "localhost"; // db host
$db = "***"; // db

header ("Content-type: text/xml");

echo ("<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n");

?>
<rss version="0.92">
 <channel>
  <title>Заглавие</title>
  <link>URL</link>
  <description>Описание</description>
  <language>bg-BG</language>
  <copyright>Михаил Николов 2009 (c)</copyright>
  <managingEditor>mico@gbg.bg</managingEditor>
  <webMaster>mico@gbg.bg</webMaster>
  <category>категория</category>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <ttl>15</ttl>
<?php
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db) or die( "Unable to select database");
$result = mysql_query ("SELECT * FROM links ORDER BY id DESC LIMIT 25") or die (mysql_error());

while ($row = mysql_fetch_array ($result))
	{
?>
 <item>
  <title><?php echo $row['title']; ?></title>
  <link>http://URL/links.php?id=<?php echo $row['id']; ?></link>
  <description><?php echo $row['desc']; ?></description>
  <category>категория</category>
 </item>
<?php
	}
mysql_free_result ($result);
?>
 </channel>
</rss>
*Променил съм съдържанието на някои тагове, за да не стане реклама.
 
Защо не пробваш отначало да си вземеш информацията от базата данни и ако има такава и няма грешки тогава да си форматираш и пращаш фийда. Така както е ако има например грешка на базата данни веднага ти става невалиден кода. Същия ефект могат да имат всякакви php грешки и бележки.
 
Интересно при кликане на линка се поява веднага опция за абониране за фийда, също така има 2 статии които са със счупени линкове, но поне във файърфокс и интернет експлорер изглежда като нормален фийд
 
Не знам дали ти си го направил вече но пуснах линка през валидатор (даже два) и това са резултатите
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

*

Your feed appears to be encoded as "windows-1251", but your server is reporting "US-ASCII" [help]


*

line 9, column 29: Email address is missing real name [help]

<managingEditor>mico@gbg.bg</managingEditor>
^

*

line 10, column 24: Email address is missing real name [help]

<webMaster>mico@gbg.bg</webMaster>
 
Да, всичко изглежда нормално, но явно има нещо... :? Линковете не работят, защото още не съм направил страниците, но не е от това. Edno23 ми дава същата грешка за друга RSS емисия (добавка за phBB2), която си е с работещи линкове и също изглежда наред.
 
Your feed appears to be encoded as "windows-1251", but your server is reporting "US-ASCII" [help]


*

line 9, column 29: Email address is missing real name [help]

<managingEditor>mico@gbg.bg</managingEditor>
^

*

line 10, column 24: Email address is missing real name [help]
 
Промених header-а и оправих информацията за името и имейла, но...

edit: Това не го разбирам:
Your feed appears to be encoded as "windows-1251", but your server is reporting "US-ASCII" [help]
Какво точно трябва да пиша тогава?
 
Питах Nick за този проблем, и при мен беше така :)
Трябва да сложиш и дата в фиид-а до колкото си спомням
 
misho каза:
Промених header-а и оправих информацията за името и имейла, но...

edit: Това не го разбирам:
Your feed appears to be encoded as "windows-1251", but your server is reporting "US-ASCII" [help]
Какво точно трябва да пиша тогава?

най-добре ползвай уникод
 
Ами сложих това:
Код:
  <pubDate><?php echo date('D, d M Y H:i:s +0000'); ?></pubDate>
Макар че в документацията за задължителни са дадени само title, link и description.

federer_11, писах utf-8 и нямаше резултат, освен, че ми скапа текста.
 
Ами на фийдовете това им е проблема - документацията е препоръчителна, а кой клиент какво изисква - това го решават авторите му.
 
Фийда на WordPress го приема без проблеми. Гледам в него и...моя си има всичко, че и в повече. :lol:
 
Работи! :D

Проблема бил, както alex95_bg_2 каза, в датата. Но аз тогава я добавих веднага след channel, а разглеждайки фийдовете на Twitter забелязах, че трябва да е след item. Благодаря на всички! :?:
 

Back
Горе