Archief - PHP: RSS feed maken.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bram

Legacy Member
Hey all

Ik probeer een RSS feed te maken van een mysql database, maar tlukt mij niet goed... Feed validator blijft error 401 geven en ik zie niet meteen wat er fout is.

PHP:
<?php
$id = isset($_GET['id']) ? $_GET['id'] : '';
mysql_connect('localhost', '', '');
mysql_select_db('');
if(empty($id)) {
	$qry = mysql_query("SELECT title, content FROM tutorial ORDER BY tutID DESC LIMIT 0,10"); 
} else {
	$qry = mysql_query("SELECT title, content FROM tutorial AS t LEFT JOIN tutorial_categories AS c ON t.tutID = c.tut_id WHERE c.cat_id = $id ORDER BY t.tutID DESC LIMIT 0,10");
}
while($row = mysql_fetch_assoc($qry)) {
	$posts[] = $row;	
} 

header('Content-type: text/xml');
?>

<rss version="2.0">
	<?php echo '<?xml version="1.0"'; ?>
	<channel>
	<title>Mickm Dev</title>
	<description>Developping RSS feed for mickm</description>
	<link>http://mickm.bramme.net/</link>
	<copyright>Test production</copyright>
	<?php foreach($posts as $post): ?>
	     <item>
	        <title> <?=$post['title']?></title>
	        <description> <?=$post['content']?></description>
	        <link>http://mickm.bramme.net/</link>
	     </item> 
	<?php endforeach; ?>
	</channel>
</rss>
Die $_GET is een test voor later, ik zou eerst gewoon die feed zelf willen laten werken. short_open_tags is true, dus daar ligt het al niet aan... Alsek het adres in geeft (http://mickm.bramme.net/rss.php) dan krijg ik ook automatisch het schermpje van firefox "wilt ge dit aan google reader toevoegen?", dus een php fout ist ook niet. maar eenmaal toegevoegd krijg ik niets.

Cyberkef

Legacy Member
<?php echo '<?xml version="1.0"'; ?>
<rss version="2.0">

die xml lijn moet eerst, dan rss :)

Bram

Legacy Member
veranderd naar
Code:
<?="<?xml version=\"1.0\">"?>
<rss version="2.0">
maar nog steeds problemen...

Tyfius

Legacy Member
Als ik op die URL klik dan vraagt die mij achter een wachtwoord.

orez

Legacy Member
waarom laat je eigenlijk de xml tag echo'en, en die andere niet?

Tyfius

Legacy Member
Jah, inderdaad. En in uw 1ste PHP voorbeeld was die tag niet gesloten ook niet eigenlijk.

Bram

Legacy Member
orez zei:
waarom laat je eigenlijk de xml tag echo'en, en die andere niet?
omdat short_open_tag aanstaat. En ie <? dus herkent als het begin van een php statement... tenzij ik die ? kan escapen?
Tyfius zei:
Jah, inderdaad. En in uw 1ste PHP voorbeeld was die tag niet gesloten ook niet eigenlijk.
jup ook gemerkt, maar fixen hielp niet
Tyfius zei:
Als ik op die URL klik dan vraagt die mij achter een wachtwoord.
damn, da zal het zijn. ik heb nen htaccess password protect op die subdomain gezet... ff checken.

da was het dus inderdaad, stoeme fout dak daar nie aan dacht.

maar dus nog niet gefixed blijkbaar:
http://feedvalidator.org/check.cgi?url=http://mickm.bramme.net/rss.php

Welke unclosed token? Ik zie niets...

Bram

Legacy Member
njah, net gezien in het wikipedia example ook. Miljaar, stoemen tutorial :p vol mee fouten. Merci voor de vluggen hulp!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan