|
|
|
| Не могу настроить RSS-канал.
Браузер выдает ошибку:
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.
--------------------------------------------------------------------------------
Ошибка в элементе верхнего уровня документа. Ошибка при обработке ресурса ''http://localhost/rss.xml''. Строка 13,Положени...
$xml = '<?xml version="1.0" encoding="windows-1251"?>'.
-----------------------------------------------------^
|
Ниже привожу код xml файла
<?php
error_reporting(E_ALL & ~E_NOTICE);
header("Content-type: application/xml");
require_once("config/config.php");
require_once("config/class.config.php");
require_once("dmn/utils/utils.print_page.php");
$xml='<?xml version="1.0" encoding="windows-1251"?>'.
'<rss version="2.0" xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">'.
'<channel>'.
'<title>Новости</title>'.
'<link>'http://www.sevidi.ru'</link>'.
'<description>'Новости сайта'</description>';
try
{
$query = "SELECT id_news,
name,
body,
DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
url,
urltext,
urlpict,
hide
FROM $tbl_news
WHERE hide = 'show'
ORDER BY putdate DESC
LIMIT 10";
$new = mysql_query($query);
if (!$new) exit("Ошибка при обращении к блоку новостей");
if(mysql_num_rows($new))
{
$patt = array("", "", "", "");
$repl = array("", "", "", "");
$pattern_url = "|\[url[^\]]*\]|";
$pattern_b_url = "|\[/url[^\]]*\]|";
while($news_up = mysql_fetch_array($new))
{
if(strlen($news_up['body']) > 100)
{
$news_up['body'] = substr($news_up['body'], 0, 1000)."...";
$news_up['body'] = str_replace($patt, $repl, $news_up['body']);
$news_up['body'] = preg_replace($pattern_url, "", $news_up['body']);
$news_up['body'] = preg_replace($pattern_b_url, "", $news_up['body']);
}
$xml .= '<item>'.
'<title>'.$news_up['name'].'</title>'.
'<link>'. <a href=\"news.php?id_news=$news_up[id_news]\">".print_page($news_up['name'])."</a>.'</link>'.
'<description>'.print_page($news_up['body']).'</description>'.
'<pubDate>'.$news_up[putdate_format].'</pubDate>'.
'</item>';
}
}
$xml .= '</channel>'.
'</rss>';
echo $xml;
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMember $exc)
{
require_once("exception_member_debug.php");
}
?>
|
Подскажите, что сделано не так. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 16:01)
| | Строка 13 - это, очевидно, о теле отклика, а не об исходном php-коде.
Или у Вас отклик такой веселый?
Тогда смотрите, что стоит обработчиком типа XML в настройке apache. | |
|
|
|
|
|
|
|
для: Trianon
(17.03.2010 в 16:20)
| | На удаленном хостинге выдает туже ошибку.
У меня есть на нем рабочий Rss-канал. Значит проблема не в Apache. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 17:03)
| |
$news_up[id_news]\">".print_page
|
$xml .= '</channel>'.'</rss>';
$xml .= '</channel></rss>'; и тд
|
| |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 17:23)
| | В коде были ошибки, на которые Вы частично указали. Но проблема осталась.
$xml='<?xml version="1.0" encoding="windows-1251"?>'.
'<rss version="2.0" xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">'.
'<channel>'.
'<title>Новости</title>'.
'<link>http://www.sevidi.ru</link>'.
'<description>Новости сайта</description>';
< --- PHP код ->
$xml .= '<item>'.
'<title>'.$news_up['name'].'</title>'.
'<link>'."<a href=\"news.php?id_news=$news_up[id_news]\">".print_page($news_up['name'])."</a>".'</link>'.
'<description>'.print_page($news_up['body']).'</description>'.
'<pubDate>'.$news_up[putdate_format].'</pubDate>'.
'</item>'.
'';
}
}
$xml .= '</channel></rss>';
|
| |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 17:35)
| | Проблема с парсером для php5 (кириллица) ,кодировки windows-1251.
encoding="windows-1251"?>'.
|
Может задуматься о utf-8 или придётся переконвертировать | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 17:51)
| | Я уже пробовал в разныx кодировках. Причина другая. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 18:08)
| | а в файле require_once("dmn/utils/utils.print_page.php"); ничего лишнего в браузер не выводится ,правильная ли у всех скриптов кодировка | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 18:19)
| | Кодировка везде windоws-1251. У меня на сайте работает уже один RSS-канал. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 18:23)
| | Попробуйте в браузер вывести только теги (без данных скрипта) и локализуйте ошибку | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 18:28)
| | Пробовал. Без результата. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 18:36)
| | Выкладывайте чистый xml файл | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 18:46)
| | как понимать выкладывать? | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 19:07)
| | В смысле код xml что отображается в браузере (не код самого скрипта,что показан выше ) | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 19:11)
| | В браузере отражается
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.
--------------------------------------------------------------------------------
Ошибка в элементе верхнего уровня документа. Ошибка при обработке ресурса ''http://localhost/rss.xml''. Строка 13,Положени...
$xml='<?xml version="1.0" encoding="windows-1251"?>'.
-----------------------------------------------------^
RSS-файл в чистом виде без РНР-кода в браузере отображается. Канал работает. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 19:18)
| | Моя невнимательность(как и ваша ) сорри
<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
<channel>
<title>Новости</title>
<link>http://www.sevidi.ru</link>
<description>Новости сайта</description>
</channel>
</rss>
|
или так
<rss xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
</rss>
|
| |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 20:09)
| | Что не так сделано? | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 20:36)
| | А ЗАПУСТИЛОСЬ? | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 20:40)
| | Нет. Поэтому вопрос, что не так?
Вот исправленный код
<?php
error_reporting(E_ALL & ~E_NOTICE);
header("Content-type: application/xml");
require_once("config/config.php");
require_once("config/class.config.php");
require_once("dmn/utils/utils.print_page.php");
$xml='<?xml version="1.0" encoding="windows-1251"?>'.
'<rss version="2.0" xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">'.
'<channel>'.
'<title>Веб-студии Sevidi</title>'.
'<link>http://www.sevidi.ru</link>'.
'<description>Новости сайта</description>';
try
{
$query = "SELECT id_news,
name,
body,
DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
url,
urltext,
urlpict,
hide
FROM $tbl_news
WHERE hide = 'show'
ORDER BY putdate DESC
LIMIT 10";
$new = mysql_query($query);
if (!$new) exit("Ошибка при обращении к блоку новостей");
if(mysql_num_rows($new))
{
$patt = array("", "", "", "");
$repl = array("", "", "", "");
$pattern_url = "|\[url[^\]]*\]|";
$pattern_b_url = "|\[/url[^\]]*\]|";
while($news_up = mysql_fetch_array($new))
{
if(strlen($news_up['body']) > 100)
{
$news_up['body'] = substr($news_up['body'], 0, 1000)."...";
$news_up['body'] = str_replace($patt, $repl, $news_up['body']);
$news_up['body'] = preg_replace($pattern_url, "", $news_up['body']);
$news_up['body'] = preg_replace($pattern_b_url, "", $news_up['body']);
}
$xml .= '<item>'.
'<title>'.$news_up['name'].'</title>'.
'<link>'."<a href=\"news.php?id_news=$news_up[id_news]\">".print_page($news_up['name'])."</a>".'</link>'.
'<description>'.print_page($news_up['body']).'</description>'.
'<pubDate>'.$news_up[putdate_format].'</pubDate>'.
'</item>'.
'';
}
}
$xml .= '</channel></rss>';
echo $xml;
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMember $exc)
{
require_once("exception_member_debug.php");
}
?>
|
| |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 20:44)
| | Невнимательность, невнимательность , невнимательность ( наверно усталость :)
<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
<channel>
<title>Новости</title>
<link>http://www.sevidi.ru</link>
<description>Не могу настроить RSS-канал.
Браузер выдает ошибку:
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.</description>
<item>
<title>тема: О настройке RSS-канала</title>
<link>http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=72629</link>
<description>
Поблема была в: rss version="2.0" xmlns:
Надо ставить version="2.0" в конце , а rss xmlns:rss1.0= в начале :)
</description>
<category>Форум PHP</category>
<pubDate>Wed, 17 Mar 2010 19:18:00 +0300</pubDate>
</item>
</channel>
</rss>
|
Вот это Явно НЕ исправлено
'<rss version="2.0" xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">'.
|
| |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 20:53)
| | Это ничего не дало. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 21:08)
| | Рабочую версию (мою) от 17.03.2010 в 20:53 вы пробовали запускать в браузере? | |
|
|
|
|
|
|
|
для: oliss
(17.03.2010 в 21:16)
| | Эта и другие подобные без РНР кода работают. Только проблема не в порядке установки версии rss. | |
|
|
|
|
|
|
|
для: sevidi
(17.03.2010 в 21:22)
| | Код писали вы? | |
|
|
|
|
|
|
|
для: oliss
(18.03.2010 в 00:09)
| | Да. | |
|
|
|
|
 18 Кб |
|
|
для: sevidi
(18.03.2010 в 08:54)
| |
<?php
error_reporting(E_ALL);
header("Content-type: application/xml");
$xml='<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
<channel>
<title>Веб-студии Sevidi</title>
<link>http://www.sevidi.ru</link>
<description>Новости сайта</description>';
$xml.='<item>
<title>news_up</title>
<link><a href="news.php?id_news=news_up1">print_page</a></link>
<description>print_page(news_up[body])</description>
<pubDate>news_up[putdate_format]</pubDate>
</item>';
$xml.='</channel></rss>';
echo $xml;
?>
|
У меня прекрасно работает,вот и вставляйте по шагам свои данные и ищите ошибку | |
|
|
|
|
|
|
|
для: oliss
(18.03.2010 в 10:50)
| | После удаления тегов <title>, <description> выдает ошибку
Ошибка в элементе верхнего уровня документа.
Строка: 18 Знак: 24
$xml.='</channel></rss>'; | |
|
|
|
|
|
|
|
|
для: oliss
(18.03.2010 в 13:00)
| | Убрал | |
|
|
|
|
|
|
|
для: sevidi
(18.03.2010 в 14:35)
| | Покажите новый код | |
|
|
|
|
|
|
|
для: oliss
(18.03.2010 в 15:12)
| |
<?php
error_reporting(E_ALL & ~E_NOTICE);
header("Content-type: application/xml");
require_once("config/config.php");
require_once("config/class.config.php");
require_once("dmn/utils/utils.print_page.php");
try
{
$xml= '<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
<channel>
<link>http://www.sevidi.ru</link>';
$query = "SELECT id_news,
name,
body,
DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
url,
urltext,
urlpict,
hide
FROM $tbl_news
WHERE hide = 'show'
ORDER BY putdate DESC
LIMIT 10";
$new = mysql_query($query);
if(mysql_num_rows($new))
{
$patt = array("", "", "", "");
$repl = array("", "", "", "");
$pattern_url = "|\[url[^\]]*\]|";
$pattern_b_url = "|\[/url[^\]]*\]|";
while($news_up = mysql_fetch_array($new))
{
if(strlen($news_up['body']) > 100)
{
$news_up['body'] = substr($news_up['body'], 0, 1000)."...";
$news_up['body'] = str_replace($patt, $repl, $news_up['body']);
$news_up['body'] = preg_replace($pattern_url, "", $news_up['body']);
$news_up['body'] = preg_replace($pattern_b_url, "", $news_up['body']);
}
$xml .= '<item>
<title>.$news_up['name'].</title>
<link>.<a href="news.php?id_news=$news_up[id_news]">.print_page($news_up['name']).</a>.</link>
<description>.print_page($news_up['body']).</description>
<pubDate>.$news_up[putdate_format].</pubDate>
</item>';
}
}
$xml .= '</channel></rss>';
echo $xml;
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMySQL $exc)
{
require_once("exception_mysql_debug.php");
}
catch(ExceptionMember $exc)
{
require_once("exception_member_debug.php");
}
?>
|
| |
|
|
|
|
 24.9 Кб |
|
|
для: sevidi
(18.03.2010 в 15:59)
| | Последняя попытка
<?php
header("Content-type: application/xml");
$xml='<?xml version="1.0" encoding="windows-1251"?>
<rss xmlns:rss1.0="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru" version="2.0">
<channel>
<title>Новости</title>
<link>http://www.sevidi.ru/</link>
<description>Веб-студия: SEVIDI Разработка веб-сайтов</description>
<image>
<url>http://www.sevidi.ru/images/logo1.gif</url>
<title>Разработка веб-сайтов</title>
<link>http://www.sevidi.ru/</link>
</image>';
try
{
@$query = "SELECT `id_news`,
`name`,
`body`,
DATE_FORMAT(`putdate`,'%d.%m.%Y') `putdate_format`,
`url`,
`urltext`,
`urlpict`,
`hide`
FROM $tbl_news
WHERE `hide` = 'show'
ORDER BY `putdate` DESC
LIMIT 10 ";
@$new = mysql_query($query);
//if (!$new) exit("Ошибка при обращении к блоку новостей");
if(@mysql_num_rows($new))
{
$patt = array("", "", "", "");
$repl = array("", "", "", "");
$pattern_url = "|\[url[^\]]*\]|";
$pattern_b_url = "|\[/url[^\]]*\]|";
while(@$news_up = @mysql_fetch_array(@$new))
{
if(strlen($news_up['body']) > 100)
{
$news_up['body'] = substr($news_up['body'], 0, 1000).'...';
$news_up['body'] = str_replace($patt, $repl, $news_up['body']);
$news_up['body'] = preg_replace($pattern_url, '', $news_up['body']);
$news_up['body'] = preg_replace($pattern_b_url, '', $news_up['body']);
}
$xml.='<item>
<title>( убрать !) '.@$news_up['name'].'</title>
<link>http://www.sevidi.ru/news.php?id_news='.@intval($news_up['id_news']).'</link>
<description>( убрать !)';
//$xml.=print_page($news_up['body']);
$xml.='</description>
<pubDate>Wed, 17 Mar 2010 19:18:00 +0300';// Убрать
//$xml.=$news_up['putdate_format'];
$xml.='</pubDate></item>';
}
}
$xml.='</channel></rss>';
echo $xml;
}
catch(ExceptionMySQL $exc){require_once("exception_mysql_debug.php");}
catch(ExceptionMySQL $exc){ require_once("exception_mysql_debug.php");}
catch(ExceptionMember $exc){ require_once("exception_member_debug.php");}
?>
|
Убирайте поочерёдно собак и слэши тогда отдеффектуетесь
У меня тест работает
Кстати вы не верно выбираете формат даты из БД --не будет отображаться. | |
|
|
|
|
|
|
|
для: oliss
(19.03.2010 в 00:11)
| | Я очень благодарен Вам, за то что Вы продолжаете "возиться " со мной. Но у меня, что-то идет не так. Может причина в настройках Apache и интерпретатора.
Браузер опять выдает предыдущую ошибку.
Теги <title> и <description> недопустимые знаки. И наконец после их удаления
Ошибка в элементе верхнего уровня документа.
Строка: 55 Знак: 28
$xml.='</channel></rss>'; | |
|
|
|
|
|
|
|
для: sevidi
(19.03.2010 в 09:18)
| | Хорошо помогу (в виде исключения) ,свяжитесь со мной через форму на форуме. | |
|
|
|
|
|
|
|
для: oliss
(19.03.2010 в 11:16)
| | Еще раз благодарю Вас за участие.
Связаться с Вами через форму - это как? | |
|
|
|
|
|
|
|
для: oliss
(19.03.2010 в 11:16)
| | У Вас "предусмотрительно" не заполнен е-мэйл адрес в профиле посетителя.
Писать Вам личные сообщения невозможно. | |
|
|
|
|
|
|
|
для: Trianon
(19.03.2010 в 12:29)
| | В моем профиле все основные данные, в том числе e-mail заполнены.
istern24@sevidi.ru
istern24@mail.ru
skype: vapavy | |
|
|
|
|
|
|
|
для: sevidi
(19.03.2010 в 12:47)
| | Про Вас я слова не сказал.
Комментарий был адресован oliss | |
|
|
|
|
|
|
|
для: Trianon
(19.03.2010 в 15:04)
| | Извините, я принял это на свой счет. | |
|
|
|
|
|
|
|
для: sevidi
(19.03.2010 в 15:45)
| | Исправлено ,письмо отправлено :) | |
|
|
|