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
Blizzard ha scritto:

Codice: Seleziona tutto

<?xml version="1.0"?>
non ci credo che non hai trovato niente su google :^o ;)

Codice: Seleziona tutto

<?php echo '<?xml version="1.0"?>'; ?>
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

Codice: Seleziona tutto

<?xml...>
è 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 #-o è per il <?

comunque conraid giuro che ho cercato su G
http://www.google.it/search?hl=it&clien ... erca&meta=
:D

grazie
Gio

Re: creazione rss , errore in riga 1

Inviato: lun 18 ago 2008, 12:36
da conraid
Blizzard ha scritto: comunque conraid giuro che ho cercato su G
http://www.google.it/search?hl=it&clien ... erca&meta=
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:
Blizzard ha scritto: comunque conraid giuro che ho cercato su G
http://www.google.it/search?hl=it&clien ... erca&meta=
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 :thumbright:

Anche se adesso sto bestemmiando contro il fatto che mi sembra essere tutto ok ma non mi visualizza nulla :-k
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! :-k

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

Codice: Seleziona tutto

     echo '<description>prova</description>';
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