dovrebbe essere cosi':

if($titolo AND $testo AND $sito AND $nome_sito AND $data)
{
$query = "insert into $table (titolo, testo, foto, autore, data, sito, ip, nome_sito) values ('$titolo', '$testo', '$foto', '$nick', '$data', '$sito', '$ip', '$nome_sito');";
$risultato = mysql_query($query,$db) or die ("Impossibile aggiungere news!". mysql_error());

$ultimo_id = mysql_insert_id(); // aggiungi questa riga

$subject = "Nuova news in attesa di autorizzazione!!!";
$message = "Ciao c'è una nuova NEWS in attesa di autorizzazione inviata da - $nick - con titolo: $titolo
Questo è l'articolo : $testo
Fonte: $sito
";
$from="staff@xxxxxxxxx.com";
$email="staff@xxxxxxxxx.com";
mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());

//echo "Grazie per aver mandato la tua news $nick!!";
echo "Grazie per aver mandato la tua news $nick!!";
echo "<meta http-equiv='refresh' content='2; url=leggi.php?id=".$ultimo_id."'>"; //ho messo qui l'id da passare alla pagina, preso da mysql_insert_id();
}

else {
echo "Devi completare tutti i campi per inserire una news!!!<meta http-equiv='refresh' content='2; url=java script:history.back(1)'>";
mysql_close($db);
}
echo "Devi fare il login!!!<meta http-equiv='refresh' content='3; url=login.php'>"; //c'era una graffa e un esle di troppo credo(all'inizio della riga)

Ovviamente nella pagina leggi.php avrai il dato $_GET['id'] per eseguire la query della news.