ďťż

[RSS] błąd w kanale...

       

Podstrony


telcocafe

no więc napisałem (z pomocą eksperta 3/2005) mój pierwszy kanał RSS, jednak wyskakuje mi błąd. Z tego co zauważyłem w adresie nie może być znaczka & (and).
Chodzi o coś takiego:
<link>http://sp1sanok.avx.pl/glowna/index.php?id=news&tryb=all#74</link>

normalnie (baz &) działa:
<link>http://sp1sanok.avx.pl/glowna/index.php?id=news#74</link>

Jak to ominąć, żeby móc użyć tego drgiego atrybutu php (jest mi on potrzebny)?
Z góry dzięki za wszystkie odpowiedzi.
Pozdrawiam



1. nowy plik i przekazywanie info w parametrze (np. http://www.4programmers.net/rss.php)
2. mod rewrite

1. Bełdzio: jakoś nie znalazłem tam odpowiedzi, jak to zrobić :/
2. O co chodzi?

I jeszcze może jedno pytanie: jak wygenerować RSS (np. za pomocą ph)?

No zgadza się w pliku RSS (XML) nie może znajdować się znak & (tak samo jak <, >, ", '). Jak dotąd w żadnym kanale się z takim rozwiązaniem nie spotkałem aby w adresie było kilka parametrów. Parametr może być tylko (chyba) w adresie do samego kanału - bo w XML'u nie ma wtedy zapisanego tego adresu, czyli to co przedstawił Bełdzio. Na php się nie znam, więc gotowego rozwiązania nie zaproponuję, ale w XML znak & przechowuje się pod postacią &amp;.
Użytkownik p1101 edytował ten post 06 lipiec 2005, 09:01


&amp nie podchodzi w xml (xml nie zamienia go), ale przy okazji pokazuje mi taki błąd:

<link>http://sp1sanok.avx.pl/glowna/index.php?id=news&amptryb=all#74</link>

Jakby coś, to adres tego xml'a to http://sp1sanok.avx.pl/rss/news2.xml

EDIT: już działa: zapomniałem, że po &amp ma być średnik :]

EDIT 2: już wpadłem na to, jak to zrobić za pomocą PHP i MySQL'a - teraz tylko pytanie, czy będzie działać :]

EDIT 3: dobra napisałem coś takiego (plik news.php)
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <generator>Broadcast Builder 1.48 Personal (C) Lionhardt Technologies 2003, www.lionhardt.com/bb</generator> <lastBuildDate>Wed, 06 Jul 2005 07:07:17 GMT</lastBuildDate> <title>Szkoła Podstawowa nr 1 w Sanoku</title> <link>http://sp1sanok.avx.pl/</link>  <language>pl</language>  <copyright>Copyright  2005 by Kornel Komenda</copyright>  <managingEditor>Kornel Komenda (kornelcio@gmail.com)</managingEditor>  <webMaster>Kornel Komenda (kornelcio@gmail.com)</webMaster>  <pubDate>Wed, 06 Jul 2005 07:07:17 GMT</pubDate> <?php $last = mysql_query("SELECT * FROM `rss_news` ORDER BY `id` DESC LIMIT 8"); while($row=mysql_fetch_assoc($last)){ ?>   <item>     <title><?= $row['title'] ?></title>     <link>http://sp1sanok.avx.pl/glowna/index.php?id=news#<?= $row['id_newsa'] ?></link>     <description><?= $row['description'] ?></description>     <pubDate><?= $row['data_pub'] ?></pubDate>   </item>   <?php } ?>  </channel> </rss>
i nie działa, pokazuje błąd Parse error: parse error, unexpected T_STRING in /home/users/sp1sanok/www/rss/news.php on line 1 - nie wiem dlaczego...
Użytkownik kornelcio edytował ten post 06 lipiec 2005, 11:26

...

<?xml version="1.0" encoding="UTF-8"?>
Interpreter PHP chce przetworzyć kod znajdujący się pomiędzy znacznikami <? ?>, gdzie powinien znajdować się kod PHP, a w Twoim przypadku znajduje się tam deklaracja wersji xml`a czego on nie rozumie. Spróbuj obsłużyć to za pomocą:

<?  echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
Użytkownik Bełdzio edytował ten post 09 lipiec 2005, 00:51
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.