• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

rss mit php und mysql UND Apple Mail

jason

Golden Delicious
Registriert
11.05.06
Beiträge
11
Hallo alle zusammen,
wißt ihr warum Apple Mail mir aus folgendem php-Script immer nur den ersten (und auch nur diesen) anzeigt und nicht alle?

Code:
<?php 



header("Content-type: text/xml");

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>"; 

echo "<rss version=\"2.0\">";
echo "<channel>"; 
    
    echo "<title>fuenf4.de rss</title>";
    echo "<link>http://www.fuen3.de</link>";
    echo "<description>fuenf3.de</description>";
    echo "<language>de-de</language>";
    /*echo "<pubDate>18.01.2009</pubDate>";
    echo "<lastBuildDate>".date("U")."</lastBuildDate>";*/
    echo "<docs>http://www.fuenf3.de/rss.php</docs>";
    echo "<generator>Rss Feed Engine</generator>";
    echo "<managingEditor>[email protected]</managingEditor>";
    echo "<webMaster>[email protected]</webMaster>";
    
    
    
    include("blabliblub.php");
    
        $result = mysql_query("SELECT id, timestamp, titel, teaser FROM f3cms_post ORDER BY id DESC");
        
        while ($row = mysql_fetch_assoc($result)){
        
            $pubdate = strtotime($row['timestamp']);
            $pubdate = date(r, $pubdate);  
            
            $echo .=  "<item>";
                
                $echo .= "<title>".$row['titel']."</title> ";  
                $echo .= "<description><![CDATA[".$row['teaser']."]]></description>";
                $echo .= "<link>http://www.fuenf3.de</link> ";
                $echo .= "<pubDate>".$pubdate."</pubDate>";
                
            $echo .= "</item>";
    
        }
        
    echo $echo;


echo "</channel>";
echo "</rss>"; 


?>
hat es vielleicht irgendwas mit $pubdate zu tun? Ich komm wirklich nicht drauf ZUMAL es mit dem rss reader (ich glaub der heißt so) klappt!!!

Bin für jeden Tipp dankbar
Viele Grüße
Gerd
 

MasterofDistres

Kleiner Weinapfel
Registriert
07.12.06
Beiträge
1.139
Ich weiß zwar nicht, was sich in der „blabliblub.php“ befindet, aber ich sehe da nirgends Datenbank-Verbindungs-Details (User/Passwort/Host…), sowie das Herstellen einer Verbindung (mysql_connect)?
 

jason

Golden Delicious
Registriert
11.05.06
Beiträge
11
Hallo MasterofDistres,
genau all das befindet sich in der blabliblub.php. Sorry! ;)
Aber wie gesagt: ein, aber auch nur EIN Feed kommt im Mail an! Wenn ich dass ganze ohne <?xml...>, <channel> und <rss...> teste werden auch alle einträge (zirka 10 Stück) im browser angezeigt, UND mit dem Reader auf der Arbeit funktionierts tadellos. Nur im Mail halt nicht!!!

komisch...

Gruß
Gerd
 

lol

Uelzener Rambour
Registriert
26.01.07
Beiträge
366
Ich baue auch gerade mit der Kombination einen Feed zusammen, mein Header und die RSS Definition sehen aber etwas anders aus.
Was mir als erstes auffällt ist, dass du bei deinem RSS2.0 keinen XMLNameSpace angegeben hast.
Ich copypaste dir das grad mal flott, vlt. läuft's damit besser. Habs aber nur in Safari getestet, nicht mit Mail. Sollten aber die gleiche Engine haben:
Snip
Code:
header('Content-type: application/rss+xml; charset=utf-8');
Snap
Code:
"<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'>\n"
 

jason

Golden Delicious
Registriert
11.05.06
Beiträge
11
Hallo lol,
danke für deine Hilfe, das hat mir sehr weitergeholfen! Deine uft-8 Zeile hat mich dann auf die Sonderzeichen und vor allem Umlaute aufmerksam gemacht. Darauf verwende ich nun CDATA auch auf im title-Tag. Jetzt funktioniert bzw ist es auch validiert: http://feedvalidator.org/check.cgi?url=http://www.fuenf3.de/rss.php

Hier noch der Code:

Code:
<?php 

header("Content-type: text/xml");

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"; 
echo "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">"; 
echo "<channel>"; 
    
    echo "<title>fuenf3.de rss</title>";
    echo "<link>http://www.fuen3.de</link>";
    echo "<description>fuenf3</description>";
    echo "<language>de-de</language>";
    echo "<pubDate>Tue, 20 Jan 2009 16:01:07 +0100</pubDate>";
    echo "<lastBuildDate>".date("r")."</lastBuildDate>";
    echo "<docs>http://www.fuenf3.de/rss.php</docs>";
    echo "<generator>Rss Feed Engine</generator>";
    echo "<atom:link href=\"http://www.fuenf3.de/rss.php\" rel=\"self\" type=\"application/rss+xml\" />";
    
    
    
    include("link zur dantenbank konnektierung.php");
    
        $result = mysql_query("SELECT * FROM f3cms_post ORDER BY timestamp DESC LIMIT 25");
        
        while ($row = mysql_fetch_assoc($result)){
        
            $pubdate = strtotime($row['timestamp']);
            $pubdate = date(r, $pubdate);  
            
            $echo .=  "<item>";
                
                $echo .= "<title><![CDATA[".$row['titel']."]]></title> ";  
                $echo .= "<link>http://www.fuenf3.de</link> ";
                $echo .= "<guid>http://www.fuenf3.de?post_id=".$row['id']."</guid> ";
                $echo .= "<pubDate>".$pubdate."</pubDate>";
                $echo .= "<description><![CDATA[".$row['teaser']."]]></description>";
                
            $echo .= "</item>";
    
        }
        
    echo $echo;


echo "</channel>";
echo "</rss>"; 

?>
Vielen Dank für deine Hilfe :)
Gruß
Gerd