Non insegno né lettere né italiano, per cui evito di fare commenti sulla sintassi e sulla grammatica, però penso di poterti dare qualche dritta su PHP.
Come prima cosa.
Hai mai sentito parlare della direttiva register_globals del php.ini???
Secondo me il tuo problema è che speri di recuperare la variabile presente nella URL ($start) semplicemente richiamandola come fai te.
Se nel php.ini del tuo ambiente di sviluppo, la variabile che ti ho segnalato è su OFF (come dovrebbe), allora la variabile che tu passi nella URl va "ripescata" dall'array superglobale $_GET.
Scrivi il codice come segue e vedi se in questo modo ti funziona.
Codice PHP:
<div id="posizione1">
<div class="precedente">
<?php
$start = $_GET['start'];
if($start >0)
{$start_back = $start - $step;
echo" | <a href=all_tipoMoto1.php?start=$start_back>precedenti</a>";
}
?>
</div>
<?php
$query="SELECT count(*) as moto FROM recensioni WHERE moto ='$recensione'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$pages=intval(($row[moto]-1)/ $step)+1;
?>
<div class="centro">
<?php
for ($i=0; $i<$pages AND $i<6; $i++)
{ $start_page = $i * $step;
echo"<a href=all_tipoMoto1.php?start=$start_page>".($i+1)."</a> ";
}
?>
</div>
<div class="successivo">
<?php
if ($start + $step < $row[moto])
{ $start_next = $start + $step;
echo"<a href=all_tipoMoto1.php?start=$start_next>successivi</a> | ";
}
?>
</div>
</div>
Nel link che ti ho passato c'è il motivo per il quale nelle nuove installazioni di PHP c'è questa modifica al file di configurazione: LA SICUREZZA!
Ad ogni modo, per vedere come è configurato il tuo ambiente (sia esso di sviluppo oppure il server), crei una pagina info.php e all'interno scrivi questo codice.
Codice PHP:
<?php
phpinfo();
?>
Una volta caricata questa pagina nel server, la richiami da browser e la leggi attentamente.
Per il tuo script, prima fai la modifica che ti ho detto io, poi se hai errori posta di nuovo.