Feed & Php-koppelinsfile werkt niet
http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fwww.vacature-werkt.nl%2FVacature-zoeken-feed2.php
En je <item>'s missen.
Zie ook: En je <item>'s missen.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 8, column 0: Missing atom:link with rel="self" [help]
Als ik bij HELP ga kijken wordt ik niet veel wijzer.......
Hoezo missen mijn item's > ? Die zijn toch ge-echoed ?
Over die melding van de validator:
Quote:
Solution
If you haven't already done so, declare the Atom namespace at the top of your feed, thus:
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
Then insert a atom:link to your feed in the channel section. Below is an example to get you started. Be sure to replace the value of the href attribute with the URL of your feed.
<atom:link href="http://dallas.example.com/rss.xml" rel="self" type="application/rss+xml" />
If you haven't already done so, declare the Atom namespace at the top of your feed, thus:
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
Then insert a atom:link to your feed in the channel section. Below is an example to get you started. Be sure to replace the value of the href attribute with the URL of your feed.
<atom:link href="http://dallas.example.com/rss.xml" rel="self" type="application/rss+xml" />
Dit lijkt me wel duidelijk, zo ;-)?
Tags boven plaatsen, en een tagje in de <channel>-sectie. niet verplicht, maar mag wel.
Gewijzigd op 25/09/2011 22:54:11 door - Ariën -
Ik heb het nu alsvolgt, werkt nog steeds niet...
Code (php)
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
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
<?
// plaats de header
header("Content-Type: application/xml; charset=UTF-8");
// laad de database connectie
require("connecten.php");
// laad de 5 laatst toegevoegde artikelen uit de database
$sql = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY id DESC LIMIT 5");
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom="http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
echo("<title>Vacatures Werken</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php</link>\n");
echo("<description>korte omschrijving van je website</description>\n");
echo("<language>nl</language>\n");
// laad de artikelen uit de database
while($rss_feed = mysql_fetch_assoc($sql))
{
// filter de extra slashes
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
// zet alle html karakters om in leesbare tekens
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving);
// plaats de artikelen
echo("<item>\n");
echo("<title>".$rss_feed['naamvacature']."</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php?id".$rss_feed['id']."</link>\n");
echo("<description>".$vacaturebeschrijving."</description>\n");
echo("</item>\n");
}
// sluit de rss informatie
echo("<atom:link href="http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php" rel="self" type="application/rss+xml" />\n");
echo("</channel>\n");
echo("</rss>");
?>
// plaats de header
header("Content-Type: application/xml; charset=UTF-8");
// laad de database connectie
require("connecten.php");
// laad de 5 laatst toegevoegde artikelen uit de database
$sql = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY id DESC LIMIT 5");
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom="http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
echo("<title>Vacatures Werken</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php</link>\n");
echo("<description>korte omschrijving van je website</description>\n");
echo("<language>nl</language>\n");
// laad de artikelen uit de database
while($rss_feed = mysql_fetch_assoc($sql))
{
// filter de extra slashes
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
// zet alle html karakters om in leesbare tekens
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving);
// plaats de artikelen
echo("<item>\n");
echo("<title>".$rss_feed['naamvacature']."</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php?id".$rss_feed['id']."</link>\n");
echo("<description>".$vacaturebeschrijving."</description>\n");
echo("</item>\n");
}
// sluit de rss informatie
echo("<atom:link href="http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php" rel="self" type="application/rss+xml" />\n");
echo("</channel>\n");
echo("</rss>");
?>
Quote:
Server returned HTTP Error 500: Internal Server Error
Check je error_log eens...
Ook raad ik aan om eens naar de gegeven adviezen in dit topic te kijken. Wederom ontbreekt ook foutafhandeling, en zie ik op lijn 37 een niet ge-escapede double-quote.
Het enige wat ik toe heb gevoegd is:
echo("<rss version=\"2.0\" xmlns:atom="http://www.w3.org/2005/Atom">\n");
en
echo("<atom:link href="http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php"
Maar het is wel mis dat PHP zich dan verslikt in de double-quote voor http://www.w3.org/2005/Atom, die moet je net als de anderen uiteraard ook escapen door er een \ voor te plaatsen.
Idem dito moet je ook bij je tweede lijn doen.
Ik raad aan om eens een PHP tutorial te doen op bijv. www.phptuts.nl. Dit is een behoorlijke basic-fout die je wel zou moeten zien en begrijpen naar mijn mening.
over foutafhandeling staat een leuke tutorial op phpHulp. En een error_log, die heb je vast wel. Die zal je ergens in je FTP kunnen vinden, buiten je 'public_html' / 'www' of 'htdocs' map.
Gewijzigd op 26/09/2011 20:28:25 door - Ariën -
Ik krijg dan onderstaande, maar blijft een Server returned HTTP Error 500: Internal Server Error
Code (php)
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
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
<?
// plaats de header
header("Content-Type: application/xml; charset=UTF-8");
// laad de database connectie
require("connecten.php");
// laad de 5 laatst toegevoegde artikelen uit de database
$sql = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY id DESC LIMIT 5");
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
echo("<title>Vacatures Werken</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php</link>\n");
echo("<description>korte omschrijving van je website</description>\n");
echo("<language>nl</language>\n");
// laad de artikelen uit de database
while($rss_feed = mysql_fetch_assoc($sql))
{
// filter de extra slashes
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
// zet alle html karakters om in leesbare tekens
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving);
// plaats de artikelen
echo("<item>\n");
echo("<title>".$rss_feed['naamvacature']."</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php?id".$rss_feed['id']."</link>\n");
echo("<description>".$vacaturebeschrijving."</description>\n");
echo("</item>\n");
}
// sluit de rss informatie
echo("<a href="http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php" rel="self" type="application/rss+xml" />\n");
echo("</channel>\n");
echo("</rss>");
?>
// plaats de header
header("Content-Type: application/xml; charset=UTF-8");
// laad de database connectie
require("connecten.php");
// laad de 5 laatst toegevoegde artikelen uit de database
$sql = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY id DESC LIMIT 5");
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
echo("<title>Vacatures Werken</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php</link>\n");
echo("<description>korte omschrijving van je website</description>\n");
echo("<language>nl</language>\n");
// laad de artikelen uit de database
while($rss_feed = mysql_fetch_assoc($sql))
{
// filter de extra slashes
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
// zet alle html karakters om in leesbare tekens
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving);
// plaats de artikelen
echo("<item>\n");
echo("<title>".$rss_feed['naamvacature']."</title>\n");
echo("<link>http://www.vacature-werkt.nl/Vacaturegegevens.php?id".$rss_feed['id']."</link>\n");
echo("<description>".$vacaturebeschrijving."</description>\n");
echo("</item>\n");
}
// sluit de rss informatie
echo("<a href="http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php" rel="self" type="application/rss+xml" />\n");
echo("</channel>\n");
echo("</rss>");
?>
En zie ook mijn vorige post.
Gewijzigd op 26/09/2011 20:36:25 door - Ariën -
Dus niet:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
?>
// plaats rss informatie
echo("<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom">\n");
echo("<channel>\n");
?>
Maar:
dat is letterlijk overgenomen uit de fout bij de validator...
Of nog mooier, gebruik SimpleXML of DOM. Dan hoef je geen echo's te gebruiken.
@- SanThe - : ook dat lost het probleem niet op, heb die aanpassing opgeslagen in het script en opgeslagen in een nieuwe documenet: http://www.vacature-werkt.nl/Vacature-zoeken-feed1.php
Dit is echt zenuwslopend....
Ik heb maar 2 regeltjes gedaan. Er zitten nog meer foutjes in bovenstaand script. (Die site zit bij one.com en is dus voor mij onbereikbaar)
@Santhe: ff tussendoor waarom is ONE.com voor jou onbereikbaar ?
DNS probleem denk ik zo.
ik for the time being toch maar naar DOM en SimpleXML uitkijken. Zijn er goede scripts al ergens te vinden ? Zojder het wiel opnieuwe uit te hoeven vinden ?
- Aar - op 26/09/2011 21:01:49:
DNS probleem denk ik zo.
Inderdaad.
Vast wel, google eens naar SimpleXML, en je komt vast wel wat bruikbaars tegen...
Jjriet petersen op 26/09/2011 21:04:06:
ik for the time being toch maar naar DOM en SimpleXML uitkijken. Zijn er goede scripts al ergens te vinden ? Zojder het wiel opnieuwe uit te hoeven vinden ?
Van welke planeet kom jij?