Pagina 1 di 1
creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 11:35
da Blizzard
Salve,
stavo provando a creare un rss per il mio blog e l'ho codato nel seguente modo, seguendo un mezzo tutorial
Codice: Seleziona tutto
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Giovanni Santostefano weblog</title>
<link>http://polystream.altervista.org</link>
<description>rss per essere aggiornati sui miei post</description>
<language>it</language>
<?php
// Get the PHP file containing the DbConnector class
require_once('block/db.php');
require_once('block/System.php');
$settings = System::getSettings();
$ptop=160;
// Create an instance of DbConnector
$connector = new DB();
// Use the query function of DbConnector to run a database query
// (The arrow -> is used to access a function of an object)
$result = $connector->query('SELECT * FROM post ORDER BY id DESC');
// Get the result
//$row = $connector->fetchArray($result);
//echo $row['titolo'];
while ($row = $connector->fetchArray($result)){
echo '<item>';
echo '<title>'.$row['titolo'].'</title>';
echo '<pubDate>'.$row['data'].'</pubDate>';
echo '<link>'.$settings['site'].'read.php?idm='.$row['id'].'</link>';
if(strlen($row['testo'])>200){
$testo=substr($row['testo'],0,200);
echo '<description>'.$testo.'</descritpion>';
}
else
{
echo '<description>'.$row['testo'].'</descritpion>';
}
echo '</item>';
}
?>
</channel>
</rss>
Quando carico la pagina ottengo il seguente errore
Codice: Seleziona tutto
Parse error: syntax error, unexpected T_STRING in /membri2/polystream/rss.php on line 1
Google non mi è stato d'aiuto... se avete una minima idea del perchè esplode in quel modo vi prego di spiegarmela.
Grazie
Gio
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 12:00
da conraid
non ci credo che non hai trovato niente su google
Perché il php non capisce quel <?xml e lo prende come errore
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 12:02
da ccts2002
penso sia perché il server considera il file php tuo come uno script e quando scrivi
è come se stessi scrivendo codice php tra i tag
<?..> e quindi non si trova con la stringa...
prova a sostituire con un echo:
Codice: Seleziona tutto
echo <<<BODY
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Giovanni Santostefano weblog</title>
<link>http://polystream.altervista.org</link>
<description>rss per essere aggiornati sui miei post</description>
<language>it</language>
BODY;
EDIT: conraid mi hai battuto di qualche secondo...
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 12:21
da Blizzard
capito

è per il <?
comunque conraid giuro che ho cercato su G
http://www.google.it/search?hl=it&clien ... erca&meta=
grazie
Gio
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 12:36
da conraid
bastava aggiungere un "<?xml" al campo di ricerca. Tu hai cercato un generico errore, se l'errore è nella riga 1 del tuo script concentrati su quella anche nelle ricerche
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 13:10
da Blizzard
conraid ha scritto:
bastava aggiungere un "<?xml" al campo di ricerca. Tu hai cercato un generico errore, se l'errore è nella riga 1 del tuo script concentrati su quella anche nelle ricerche
Ricevuto
Anche se adesso sto bestemmiando contro il fatto che mi sembra essere tutto ok ma non mi visualizza nulla
http://polystream.altervista.org/rss.php
Codice: Seleziona tutto
<?php
// Get the PHP file containing the DbConnector class
require_once('block/db.php');
require_once('block/System.php');
$settings = System::getSettings();
echo <<<BODY
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>Giovanni Santostefano Weblog</title>
<link>http://polystream.altervista.org</link>
<description>RSS for Giovanni Santostefano Weblog</descritpion>
<language>it</language>
BODY;
// Create an instance of DbConnector
$connector = new DB();
// Use the query function of DbConnector to run a database query
// (The arrow -> is used to access a function of an object)
$result = $connector->query('SELECT * FROM post ORDER BY id DESC');
// Get the result
//$row = $connector->fetchArray($result);
//echo $row['titolo'];
while ($row = $connector->fetchArray($result)){
echo "\n";
echo '<item>';
echo "\n";
echo '<title>'.$row['titolo'].'</title>';
echo "\n";
echo '<pubDate>'.$row['data'].'</pubDate>';
echo "\n";
echo '<link>'.$settings['site'].'read.php?idm='.$row['id'].'</link>';
echo "\n";
if(strlen($row['testo'])>200){
$testo=substr($row['testo'],0,200);
echo '<description>'.$testo.'</descritpion>';
echo "\n";
}
else
{
echo '<description>'.$row['testo'].'</descritpion>';
echo "\n";
}
echo '</item>';
}
echo <<<TAIL
</channel>
</rss>
TAIL;
?>
non so che dire, dov'è che sbaglio di brutto???
ciao
Gio
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 13:29
da Blizzard
mah! non riesco a fargli digerire il tag <description> (che nel precedente codice era scritto decritpion ma l'ho corretto e non ne vuole sapere lo stesso).
Gio
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 13:59
da conraid
Hai modificato anche </descritpion>?
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 14:53
da Blizzard
conraid ha scritto:Hai modificato anche </descritpion>?
si certo!

Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 15:04
da conraid
Se hai la visualizzazione degli errori attiva e non ti da niente, io proverei a gradi.
Prima metterei al posto di
Codice: Seleziona tutto
if(strlen($row['testo'])>200){
$testo=substr($row['testo'],0,200);
echo '<description>'.$testo.'</descritpion>';
echo "\n";
}
else
{
echo '<description>'.$row['testo'].'</descritpion>';
echo "\n";
}
metterei solamente
Se te lo mostra inizierei ad aggiungere piano piano
Codice: Seleziona tutto
echo '<description>'.$row['testo'].'</description>';
poi la condizione e così via.
Se non te lo mostra guarda bene se c'è qualche errore nel php
Io comunque per esempio uso una cosa simile
Codice: Seleziona tutto
echo '<item>'."\n";
echo '<title>'.$title.'</title>'."\n";
echo '<link>'.$link.'</link>'."\n";
echo '<description><![CDATA[';
echo '<pre>';
// Testo che viene inserito
echo '</pre>';
echo ']]></description>'."\n";
echo '</item>'."\n";
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 16:36
da ccts2002
ma perché a me visualizza correttamente tutto????
Re: creazione rss , errore in riga 1
Inviato: lun 18 ago 2008, 16:53
da Blizzard
ccts2002 ha scritto:ma perché a me visualizza correttamente tutto????
il problema della mancata visualizzazione è tutta nel tag <description>
avendo eliminato quel tag il tutto funziona alla grande ma ovviamente non visualizzo parte del post.
Conraid mi ha dato un modus operandi per cercare di capire l'errore ma tra le mazzate del giocatore di ping pong cinese(che nel mentre ha pure vinto

) e altre cose ancora non muovo il c**** ad effettuare le modifiche. Ci proverò in serata spero.
ciao
Gio