RSS Feed Problem

moistwanted

Erfahrenes Mitglied
HI Leute!

Ich hab nach dem RSS Tutorial hier auf der Seite ein RSS File gebaut.
Das Problem ist nur das Firefox das Feed nicht lesen kann.
Kann mir einer von Euch helfen?

Code:
<?php header("Content-type: text/xml");
echo '<'.'?xml version="1.0" encoding="ISO-8859-1"?'.'>'; ?>
<rss version="2.0">
<channel>
	<title>MyNaruto.com</title>
   <link>http://www.mynaruto.com/</link>
   <description>News on MyNaruto.com</description>
	<language>en-us</language>
   <generator>MyNaruto RSS Generator</generator>
	<copyright>Copyright MyNaruto.com 2004-2006</copyright>
   <?php
   	require_once('db-connect.php');

      if($_GET['lang']=='all')
      {
      	$abfrage01=mysql_query("SELECT * FROM news ORDER BY date DESC LIMIT 10");
      }
   	elseif(($_GET['lang']+1-1)!=0)
      {
      	$lang=$_GET['lang'];
      	$abfrage01=mysql_query("SELECT * FROM news WHERE lang=".$lang." ORDER BY date DESC LIMIT 5");
      }
      else
      {
         $abfrage01=mysql_query("SELECT * FROM news WHERE lang=0 ORDER BY date DESC LIMIT 5");
      }

      while($datensatz01=mysql_fetch_assoc($abfrage01))
      {
      	$zeit=date("Y-m-d\TH:i:s+01:00", $datensatz01["date"]);

         ?>
         <item>
         	<title><? echo $datensatz01["title"]; ?></title>
	         <link>http://mynaruto.com/</link>
            <description>
            	<![CDATA[
               <? echo $datensatz01["news"]; ?>
               ]]>
            </description>
            <author><? echo $datensatz01["autor"]; ?>&lt;info@mynaruto.com&gt;</author>
            <pubDate><? echo $zeit; ?></pubDate>
	      </item>
         <?
      }
   ?>
</channel>
</rss>

Hat sich erledigt. Musste nur noch eine DOCTYPE Zeile reinschreiben.
 
Zuletzt bearbeitet:
Du solltest noch die verwendete Zeichenkodierung im HTTP-Header angeben:
PHP:
<?php

	header('Content-Type: text/xml; charset=iso-8859-1');
	echo '<?xml version="1.0" encoding="ISO-8859-1"?>';

?>
…
 
Hab mir auch das tut von hier angeschaut, leider wird der feed nicht dynamisch im firefox geladen wenn ich ihn abboniere, woran könnte das liegen?


Code:
<?php
    $host = "localhost";
    $user = "...";
    $passwort = "...";
    $dbname = "daten";
 $mydb = mysql_connect($host,$user,$passwort);
 if(!mydb) die("<hr />Keine Verbindung zu MYSQL!<hr />");
 mysql_select_db($dbname,$mydb) or die("<hr />Keine Verbindung zur Datenbank: $dbname!<hr />");
header("Content-type: application/xml ");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
?>

<rss version="2.0" >
<channel>
  <title> Geburtstagsliste</title>
  <link>............</link>
  <description> Geburstagsliste</description>

<?php
  $timestamp = time();
  $t = date("j");
  $m = date("n");
  $j = date("Y");
  
  //$datum = date("d.m.Y",$timestamp);
  //echo "<p>Heute ist der $datum </p>";

  $bday = "SELECT * FROM kalender WHERE tag=$t and monat=$m ORDER BY nachname ASC" ;
  $birthday = mysql_query($bday);

  if(mysql_num_rows($birthday) == 0){
    echo "<item><title>Heute hat kein Mitarbeiter Geburtstag!</title></item>";}
   else {
      while($row = mysql_fetch_object($birthday)){
      $titel    = $row -> titel;
      $vorname  = $row -> vorname;
      $nachname = $row -> nachname;
      $jahr = $row -> jahr;
      $alter = $j-$jahr ;
      echo "    <item>\n";            
      echo "     <title>" .$titel. " " .$vorname. " " .$nachname. " ist heute " .$alter. " Jahre geworden </title>\n";
      echo "     <discription>" .$title. $vorname. " " .$nachname. " ist heute " .$alter. " Jahre geworden </discription>\n";
      echo "    </item>\n";
       }     
   }?>
</channel>
</rss>
 
Zuletzt bearbeitet:
Versuche mal testweise noch folgende [phpf]header[/phpf] mit zu übermitteln:

PHP:
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
 
ich habe jetzt die zwei anderen header anzweisung danach drangeknüpft aber es passiert nichts neues....
 
Dann füge mal dem XML Teil folgendes hinzu:

<lastBuildDate>Datum</lastBuildDate>

Da muss ein kompatibles Datum rein, z. B. so:

PHP:
echo gmdate('D, d M Y H:i:s').' GMT';

Und für jeden Eintrag (<item>) ein <pubDate></pubDate>. Mit dem gleichen Datum wie oben.
 
HI Leute!

Ich hab nach dem RSS Tutorial hier auf der Seite ein RSS File gebaut.
Das Problem ist nur das Firefox das Feed nicht lesen kann.
Kann mir einer von Euch helfen?

Code:
<?php header("Content-type: text/xml");
echo '<'.'?xml version="1.0" encoding="ISO-8859-1"?'.'>'; ?>
<rss version="2.0">
<channel>
	<title>MyNaruto.com</title>
   <link>http://www.mynaruto.com/</link>
   <description>News on MyNaruto.com</description>
	<language>en-us</language>
   <generator>MyNaruto RSS Generator</generator>
	<copyright>Copyright MyNaruto.com 2004-2006</copyright>

...

Hat sich erledigt. Musste nur noch eine DOCTYPE Zeile reinschreiben.

Hi moistwanted,

abgesehen davon, das du dein spezfisches Problem wohl gelöst hast. Finde ich hört in deine RSS Ausgabe noch der Inhalt von:

<lastBuildDate>".date("r")."</lastBuildDate>\n";

eingetragen. Damit erkennt der Browser ob sich eine Veränderung im Feed ergeben hat.

Gruß Ainschy
 
hallo, hab ich gerade auch schon reingemacht, mit dem datum t das auch laut quelltext generiert er die datume...
<lastBuildDate>Mon, 11 Jun 2007 19:37:56 GMT</lastBuildDate>

und je item
<pubDate>Mon, 11 Jun 2007 19:37:56 GMT</pubDate>
 
hallo, hab ich gerade auch schon reingemacht, mit dem datum t das auch laut quelltext generiert er die datume...
<lastBuildDate>Mon, 11 Jun 2007 19:37:56 GMT</lastBuildDate>

und je item
<pubDate>Mon, 11 Jun 2007 19:37:56 GMT</pubDate>

Sicher kann er das Datum nah seiner Art und Weise generieren, Jedoch wird mit

date("r")

direkt das passende Format ausgegeben,

Haben wohl zur gleichen Zeit unseren Beitrag verfasst :suspekt:

Gruß Ainschy
 
Jau, wusste ich auch noch net, dass es mittlerweile so einfach geht...
Hab grade eben meinen alten Feed Generator umgeschrieben, danke.
 
Zurück