Некорректное отображение RSS-канала

galaid
На сайте с 13.09.2011
Offline
16
777

Здраствуйте.

При создании RSS-ленты на сайте, у меня возникли кое-какие проблемы.

Вот код файла rss.php:

<rss version="2.0">

<channel>
<?php include('includes/config.php'); ?>
<title><?php echo("$site_name"); ?></title>
<?php
if ($publ>10)
{$b=11;}
else
{$b=$publ+1;}
for ($m=1; $m<$b; $m++)
{$t=$publ-$m+1;
include('publ/'.$t.'.php');
?>
<item>
<title><?php echo("$name"); ?></title>
<description><?php echo("$anounce"); ?></description>
</item>
<?php
}
?>
</channel>
</rss>

Проблема возникла с браузером Opera, когда при повторном просмотре RSS-канала отоброжается следующее содержимое:

[ATTACH]98623[/ATTACH]

(т.е. при повторном просмотре канала новости показывается повторно, если посмотреть канал 3 раза, то новости будут показаны по 3 раза и т.д.)

В то время, как должно быть так:

[ATTACH]98624[/ATTACH]

Кстати, исходный код при повторном просмотре канала в норме, т.е. такой, который соответствует второму скриншоту. В других браузерах все в норме.

Кто знает в чем причина этого?

png 98623.png
png 98624.png
Joker-jar
На сайте с 26.08.2010
Offline
154
#1

Добавьте

<pubDate></pubDate>

<guid></guid>

в каждый элемент. Да и link не помешал бы

LEOnidUKG
На сайте с 25.11.2006
Offline
1753
#2

ТС, а вы ВОООБЩЕ стандарт читали? документацию?

Так же в опере есть идиотский КЭШ, тупой и никому не нужный этих RSS лент. Он реально показывает ТО, чего уже давно нет.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
AutoBlogger
На сайте с 05.10.2011
Offline
121
#3

Кэш фидов есть не только в опере, но и в других браузерах (в том же FF, например). Удерживание клавиши "shift" во время рефреша, решает проблему.

И кстати, замените это:

if ($publ>10)
{$b=11;}
else
{$b=$publ+1;}
for ($m=1; $m<$b; $m++)
{$t=$publ-$m+1;
include('publ/'.$t.'.php');

На это:

($publ > 10) ? $b = $publ - 10 : $b = 0;
for ($m = $publ; $m > $b; $m--) {
include("publ/$m.php");

Так, для прикола ) Это конечно в том случае, если я понял идею работы вашего скрипта, ибо написан он несколько витиевато...

🪄 www.cyberseo.net - плагин для создания автоблогов под WordPress, с поддержкой OpenAI GPT, Anthropic Claude, Google Gemini, Llama, Mistral, Midjourney, FLUX, Stable Diffusion | 📣 Импорт RSS / XML / JSON/ CSV / HTML
galaid
На сайте с 13.09.2011
Offline
16
#4
Joker-jar:
Добавьте
<pubDate></pubDate>
<guid></guid>
в каждый элемент. Да и link не помешал бы

Отчасти помогло.

Только теперь при втором просмотре канала не отображается ни одной новости, но при первом и +3 просмотрах все в норме.

AutoBlogger
На сайте с 05.10.2011
Offline
121
#5

http://validator.w3.org/feed/ вам в помощь.

galaid
На сайте с 13.09.2011
Offline
16
#6
AutoBlogger:
Кэш фидов есть не только в опере, но и в других браузерах (в том же FF, например).

В других браузерах, в том числе и в FF, RSS-канал отображается корректно.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий