1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

rss mit php und mysql UND Apple Mail

Dieses Thema im Forum "PHP & Co." wurde erstellt von jason, 20.01.09.

  1. jason

    jason Golden Delicious

    Dabei seit:
    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>post@fuenf3.de</managingEditor>";
        echo "<webMaster>post@fuenf3.de</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
     
  2. MasterofDistres

    MasterofDistres Kleiner Weinapfel

    Dabei seit:
    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)?
     
  3. jason

    jason Golden Delicious

    Dabei seit:
    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
     
  4. lol

    lol Uelzener Rambour

    Dabei seit:
    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"
     
  5. jason

    jason Golden Delicious

    Dabei seit:
    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
     

Diese Seite empfehlen