RSS function werkt niet volledig

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hakkatjai

Hakkatjai

14/06/2006 13:20:00
Quote Anchor link
Goeiedag php'ers,

Uitleg:
ik heb helaas weer een probleem tijdens het coderen van php. Hieronder ziet u een functie over RSS, wanneer een persoon een foto oploadt op de uploadpagina laat ik de uploadpagina deze functie runnen. Deze functie maakt een rss feed aan, een xml bestand dus.

Problemen:
1. Als ik mijn site in firefox open en het RSS icon klikt krijg ik wel het venster, maar zonder titel. Dit wil ik graag hebben weet iemand dat?

2. wanneer ik dit gebruik maakt hij wel RSS feed aan maar die niet gevalideerd kan worden<guid>http://localhost/test/?page=detail&photo={$item['id']}</guid>

als ik dit gebruik valideert hij het wel.
<guid>http://localhost.no-ip.info/detail.php?photo=40</guid>

dit komt voornamelijk door die & teken. want als ik het verander in een vraag teken ? doet hij het wel. Weet misschien iemand hoe je dit in RSS feed uitzet of kan escapen.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
// RSS functie om een rss feed automatisch te laten maken
function create_rss($db) {
    // initialisatie
    $query = "";
    $result = "";
    $xml_string = "";

    // query opstellen voor het ophalen van de laatst n foto's
    $query = "SELECT p.*, UNIX_TIMESTAMP(p.datum) AS datum, m.naam, m.email FROM photos p, members m WHERE m.id = p.uploader_id ORDER BY datum DESC LIMIT " . RSS_AANTAL_ITEMS .";";

    // query uitvoeren en toekennen aan result
    $result = safe_query($db, $query);

    // resultaten opnemen in XML-string. string wordt omgezet met \n \t
    $xml_string = "< ?xml version=\"1.0\" encoding=\"ISO-8859-1\" ? >\n";
    $xml_string .= "<rss version=\"2.0\">\n";
    $xml_string .= "\t<channel>\n";
    $xml_string .= "\t\t<title>Waarom komt er geen titel</title>\n";
    $xml_string .= "\t\t<link>" .RSS_LINK."</link>\n";
    $xml_string .= "\t\t<copyright>" .RSS_COPY."</copyright>\n";
    $xml_string .= "\t\t<pubDate>" .date("r")."</pubDate>\n";
    $xml_string .= "\t\t<language>" .RSS_TAAL."</language>\n";
    $xml_string .= "\t\t<ttl>" .RSS_TTL."</ttl>\n";
    $xml_string .= "\t\t<webMaster>" .RSS_WEBMASTER."</webMaster>\n";
    $xml_string .= "\t\t<description>" .RSS_DESCRIPT."</description>\n";

    // resultaten in lus zetten in de xml_string verwerken
    while ($item = mysqli_fetch_array($result)) {
        $xml_string .= "\t\t\t<item>\n";
        $xml_string .= "\t\t\t\t<title>{$item['photo_filename']}</title>\n";
        $xml_string .= "\t\t\t\t<description>" .zin_afbreken($item['beschrijving'])."</description>\n";
        $xml_string .= "\t\t\t\t<guid>http://localhost/test/?page=detail&photo={$item['id']}</guid>\n";
        $xml_string .= "\t\t\t\t<author>{$item['email']}</author>\n";
        $xml_string .= "\t\t\t\t<pubDate>" .date("r", $item['datum']). "</pubDate>\n";
        $xml_string .= "\t\t\t</item>\n";
    }


    $xml_string .= "\t</channel>\n";
    $xml_string .= "</rss>\n";

    // rss feed op schijf bewaren
    if (!$fp = fopen(RSS_FILENAME, "w")) {
        return false;
    }

    else {
        fwrite($fp, $xml_string);
        fclose($fp);
        return true;
    }
}

?>


Pogingen:
1. Titel keihard gewoon erigeschreven geen DEFINE variable meer gebruikt maar werkt niet
2. Bij de <guid>......</guid> heb ikde & teken in een ? veranderd toen valideert de xml bestand wel goed maar kom ik niet op de juist pagina, het kan liggen aan de & teken

help... :'(
Gewijzigd op 01/01/1970 01:00:00 door Hakkatjai
 
PHP hulp

PHP hulp

29/04/2024 11:55:26
 
Something Else

Something Else

14/06/2006 13:25:00
Quote Anchor link
hmmm dit zou ik ook graag willen weten, aan de links te zien laat je de pagina includen.
 
Hakkatjai

Hakkatjai

15/06/2006 13:03:00
Quote Anchor link
Anybody....? |:''(
 
Jorik

Jorik

15/06/2006 14:23:00
Quote Anchor link
Ehm... waarom noem je je RSS bestand niet gewoon .php en haal je het steeds uit de database (heb je altijd de nieuwste versie).
Als je dan in de website de regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="alternate" href="rss.php" type="application/rss+xml" title="sitenaam RSS"/>

Zet, dan krijg je in Firefox iig naast de url zo'n mooi RSS icoontje, en kun je het gewoon gebruiken.
 
Hakkatjai

Hakkatjai

18/06/2006 21:05:00
Quote Anchor link
Sorry van de laat reply

Het idee is goed maar het anwoord is fout. Op zicht een goed idee. Ik wil het in xml, want er zijn van die programma's RSS readers die xml alleen lezen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.