Non hai bisogno di usare un ciclo di WHILE, visto che sai in anticipo che il dato estrapolato dal DB è su un solo record, né di passarti il titolo dell'articolo via URL.
Guarda come devi fare. :::::::::::::
Codice PHP:
// link nella pagina con la lista dei titoli
[url='script_result.php?id=$id']$titolo[/url]
Questo è invece il codice per la pagina che visualizza tutto il singolo articolo.
Codice PHP:
$id = $_GET['id'];
$sql = "SELECT script, titolo FROM scripts WHERE id=$id ";
// non ti servono gli apici per $id nella query,
// visto che il campo ID nella tabella è per certo un INT
$result = @mysql_query($sql) OR DIE("
Errore nell'invio della query.
Errore Numero: ". mysql_errno() . "
Tipo di errore: " .mysql_error() . "
</p>
");
$row = mysql_fetch_array($result);
$testo = $row['script'];
$titolo = $row['titolo'];
// riscrivo parte del tuo codice, ma secondo me
// il controllo htmlspecialchars andrebbe messo nel
// momento in cui vai ad inserire i testi nel DB.
// nl2br() trasforma tutti gli a-capo della form in tag
$script = nl2br(htmlspecialchars($script));
// qui te lo formatti come ti pare
echo "
$titolo
$script2
";
}
Naturalmente, lo script può essere molto migliorato ma così è come devi lavorare.