Antworten auf deine Fragen:
Neues Thema erstellen

rss Feed erstellen

Philipp88

Nicht mehr ganz neu hier

Hallo,

ich möchte per PHP ein RSS Feed programmieren.
Im Firefox wird dieser auch problemlos angezeigt, nur in IE und Google Chrom nicht :'(

Google Chrom gibt mir folgenden Fehler zurück:
HTML:
error on line 30 at column 30: Extra content at the end of the document

Der IE sagt nur "feed kann nicht angezeigt werden"

Mein Php Code ist:
PHP:
header("Content-type: text/xml");
   echo '<?xml version="1.0" encoding="ISO-8859-1" ?>
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  
  <channel>
    <title>title</title>
    <language>de</language>
    <link>domain</link>
    <description>Hier kommt die Beschreibung rein.</description>
    <copyright>Copyright by Domain ' . date("d.m.Y") . '</copyright>';
    
    $res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "tx_implantatenews_news", "hidden = 0 AND deleted = 0 AND pid = 16", "", "crdate DESC");
    $num = $GLOBALS["TYPO3_DB"]->sql_num_rows($res);
    
    for($i = 0; $i < 2; $i++) {
      $row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res);
      $id = $row["uid"];
      $title = $row["title"];
      $intro = $row["introtext"];
      $date = date("d.m.Y", $row["crdate"]);
      
      $param = array(
      "item" => $id,
      "MP" => "16-261"
      );
      
      $link = $this->pi_getpagelink("296", "", $param);
      $url = t3lib_div::locationHeaderUrl($link);
      $url = str_replace("&", "&amp;", $url);
      
      echo "<item>
              <title>$title</title>
              <link>$url</link>
              <pubDate>$date</pubDate>
              <description><![CDATA[ $intro ]]></description>
      </item>";
    }
    
  echo "</channel></rss>";

Ich würde mich freuen, wenn mir jemand helfen könnte.

Danke im voraus
Philipp
 

Duddle

Posting-Frequenz: 14µHz

AW: rss Feed erstellen

Zeig mal ein erzeugtes Dokument oder gib die URL zum Feed. Offensichtlich liegt der Fehler im Produkt, also ist der Quellcode nur zweitrangig.


Duddle
 

hub

nicht ganz neu hier

AW: rss Feed erstellen

Moin moin,
lass dir mal den Seitenquelltext im Chrome mit der rechten Maustaste anzeigen, unterhalb der Fehlermeldung steht der geparste Text. Dort wirst du wahrscheinlich auch die entsprechende Fehlermeldung sehen. Ich kann es nicht testen, hab im Moment kein Typo3 hier ...

Gruß Ulli
 

Philipp88

Nicht mehr ganz neu hier

AW: rss Feed erstellen

hier ist der Code von Chrom:

HTML:
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><parsererror xmlns="http://www.w3.org/1999/xhtml" style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"><h3>This page contains the following errors:</h3><div style="font-family:monospace;font-size:12px">error on line 30 at column 30: Extra content at the end of the document </div><h3>Below is a rendering of the page up to the first error.</h3></parsererror>
 
<channel> <title>title</title> <language>de</language> <link>domain</link> <description>Hier kommt die Beschreibung rein.</description> <copyright>Copyright by domain11.12.2012</copyright><item> <title>Zahnmedizinische Fachangestellte ist einer der beliebtesten Ausbildungsberufe bei Frauen </title> <link>http://www.t3icom.de/news-detail.html?item=2609&amp;MP=16-261</link> <pubDate>04.12.2012</pubDate> <description><![CDATA[ <p class="bodytext"> Die Ausbildungsquote in den Berufen rund um die Zahnmedizin ist traditionell hoch, 2011 bildeten rund 41 Prozent der Zahnarztpraxen aus. Zahnmedizinische Fachangestellte (ZFA) ist einer der beliebtesten Ausbildungsberufe bei Frauen. Unter den Top 10 der begehrtesten Aus]]><![CDATA[bildungsberufe liegt die ZFA auf Rang 7. Besonders erfreulich: die sinkende Arbeitslosenzahl bei den ZFAs. Diese und weitere Zahlen zu Zahnmedizin und (Mund-)gesundheit meldet das Statistische Jahrbuch 2011/2012 der Bundeszahn&auml;rztekammer </p> ]]></description> </item><item> <title>Neues Kapitel auf implantate.com: Probleme mit Implantaten</title> <link>http://www.t3icom.de/news-detail.html?item=2608&amp;MP=16-261</link> <pubDate>03.12.2012</pubDate> <description><![CDATA[ Wenn j&auml;hrlich gesch&auml;tzt alleine in Deutschland ca. 800.000 Implantate ihren Weg in die M&uuml;nder der Patienten finden,werden selbst bei einer geringen Prozentzahl von Fehlschl&auml;gen Zahlen erreicht, die ein ein deutlich vernehmbares Wehklagen nach sich ziehen. Die Hoffnungen auf eine lebenslange Haltbarkeit von Implantaten ohne Wartung wird sicherlich nicht in jedem Fall befriedigt werden k&ouml;nnen, zumal die Mundh&ouml;hle ein Tummelplatz von Bakterien darstellt, Kaukr&auml;fte auf den Z&auml;hnen gewaltig lasten und es praktisch keine Ruhezeiten gibt. ]]></description> </item></channel></rss>

danke für deine Hilfe
 

hub

nicht ganz neu hier

AW: rss Feed erstellen

Moin,
setze mal deine Daten im Link-Tag auch in CDATA-Section ...
Es sei denn, du hast noch weitere Fehlermeldungen im Umfeld.

Gruß Ulli
 

Duddle

Posting-Frequenz: 14µHz

AW: rss Feed erstellen

Habe gerade etwas gegooglet, weil das XML an sich wohlformatiert ist und in meinen Browsern auch akzeptiert wird.
Woher hast du dein Grundgerüst für den Feed? Wenn ich mir den Atom-Standard auf http://www.atomenabled.org/developers/syndication/ betrachte, sehe ich komplett andere Elemente, beginnend beim <feed>-Wurzelelement (bei dir <rss>).

Dann würde die Fehlermeldung auch ein wenig Sinn machen: wenn du einen bestimmten Standard vorgibst und du andere Elemente nutzt, kommt der Parser durcheinander.


Duddle
 

Philipp88

Nicht mehr ganz neu hier

AW: rss Feed erstellen

Ich habe jetzt die link- tags oben und die im item- tag in CDATA gesetzt, dennoch der selbe Fehler:'(

Habt ihr noch ne Idee?
 

Philipp88

Nicht mehr ganz neu hier

AW: rss Feed erstellen

Ich habe mich an das Tutorial gehalten: http://alice-grafixx.de/PHP-MYSQL-Tutorial/Rss-2.0-Feed-erstellen-mittels-SQL-Datenbank-91

Ich habe jetzt mal das Feed so gekürzt, das er mir erstmal keine items ausgibt, dennoch der Fehler :muede:

Das XML sieht jetzt so aus:
HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<language>de</language>
<link><![CDATA[ implantate.com ]]></link>
</channel>
</rss><br /><b>Fatal error</b>: Cannot redeclare ReadMap() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:8) in <b>/www/htdocs/w00fe094/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php</b> on line <b>32</b><br />

Laut Fehler hat er Probleme mit Zeile 8 Spalte 21, also hier:
HTML:
</channel></rss><br />

Woher kommt das <br>, gehört das mit zur Fehlermeldung?

edit:
Ich habe mein Feed jetzt so umgeändert wie Duddle geschrieben, dennoch selber Fehler:(

HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>implantate.com</title>
<link><![CDATA[ implantate.com ]]></link>
<author>
<name>Implantate</name>
</author>
<description>Hier kommt die Beschreibung rein.</description>
<copyright>Copyright by implantate.com 11.12.2012</copyright>
<id>implantate.com</id>
<entry>
<title>Zahnmedizinische Fachangestellte ist einer der beliebtesten Ausbildungsberufe bei Frauen </title>
<link><![CDATA[ http://www.t3icom.de/news-detail.html?item=2609&amp;MP=16-261 ]]></link>
<id>implantate.com</id>
<updated>04.12.2012</updated>
<summary><![CDATA[ <p class="bodytext">Die Ausbildungsquote in den Berufen rund um die Zahnmedizin ist traditionell hoch, 2011 bildeten rund 41 Prozent der Zahnarztpraxen aus. Zahnmedizinische Fachangestellte (ZFA) ist einer derbeliebtesten Ausbildungsberufe bei Frauen. Unter den Top 10 der begehrtesten Ausbildungsberufe liegt die ZFA auf Rang 7. Besonders erfreulich: die sinkende Arbeitslosenzahl bei den ZFAs. Diese und weitere Zahlen zu Zahnmedizin und (Mund-)gesundheit meldet das Statistische Jahrbuch 2011/2012 der Bundeszahn&auml;rztekammer</p>]]></summary>
</entry>
<entry><title>Neues Kapitel auf implantate.com: Probleme mit Implantaten</title><link><![CDATA[ http://www.t3icom.de/news-detail.html?item=2608&amp;MP=16-261 ]]></link><id>implantate.com</id><updated>03.12.2012</updated><summary>
<![CDATA[ Wenn j&auml;hrlich gesch&auml;tzt alleine in Deutschland ca. 800.000 Implantate ihren Weg in die M&uuml;nder der Patienten finden,werden selbst bei einer geringen Prozentzahl von Fehlschl&auml;gen Zahlen erreicht, die ein ein deutlich vernehmbares Wehklagen nach sich ziehen. Die Hoffnungen auf eine lebenslange Haltbarkeit von Implantaten ohne Wartung wird sicherlich nicht in jedem Fall befriedigt werden k&ouml;nnen, zumal die Mundh&ouml;hle ein Tummelplatz von Bakterien darstellt, Kaukr&auml;fte auf den Z&auml;hnen gewaltig lasten und es praktisch keine Ruhezeiten gibt. ]]></summary></entry></feed><br /><b>Fatal error</b>: Cannot redeclare ReadMap() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:8) in <b>/www/htdocs/w00fe094/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php</b> on line <b>32</b><br />

Zeile 34 Spalte 22 (wieder die wo alles geschlossen wird)
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: rss Feed erstellen

Scheinbar machst du vor oder nach dem Erzeugen des Feeds noch irgendwas anderes mit fpdf oder einer anderen PHP-Bibliothek, sonst würde es nicht zu dem Fehler kommen.


Duddle
 

hub

nicht ganz neu hier

AW: rss Feed erstellen

Moin,
wie Duddle schon sagt, der Fehler wird woanders produziert.
Suche doch mal die Function "ReadMap()", dann siehst du, was möglicherweise falsch eingebunden ist. Der Fehler jetzt ist übrigens ein anderer als vorher. Diese Error-Message sorgt dafür, das dein Feed nicht angezeigt werden kann, weil eine Ausgabe vor dem Senden des Headers erfolgt. Du kannst es testen indem du die Fehlerausgabe von Php mal kurzzeitig zum Test ausschaltest.

Gruß Ulli
 

Philipp88

Nicht mehr ganz neu hier

AW: rss Feed erstellen

Tatsächlich hat php nach dem xml noch einen anderen Code produziert. Ich habe jetzt erstmal hinter dem letzten echo ein die() gesetzt. Jetzt funktioniert es erstmal.

Wenn ich einen bestimmten Datensatz ausgeben lasse, kommt folgende xml-Fehlermeldung:
HTML:
error on line 175 at column 31: Input is not proper UTF-8, indicate encoding !
Bytes: 0x08 0x76 0x65 0x6E

Wenn ich in diesem Datensatz diesen Wert lösche und genau das Gleiche manuell schreibe, funktioniert dieser Datensatz.

Ich würde mich über Antwort freuen.
Philipp

edit: Ich habe nun herausgefunden, dass diese Datensätze ein unbekanntes Sonderzeichen, was einem Rechteck ähnelt (kann hier nicht dargestellt werden) ausgibt und so zu dem xml-Fehler führt. Leider weiß ich nicht, wie ich dieses Zeichen mittels php entfernen kann.

edit: Das Problem wurde soeben behoben.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben