Figurati! 
Comunque per quanto riguarda i form vuoti hai ragione ho saltato io un paio di righe... 
Mi ero scordato di ciclare i risultati della query... 
Codice PHP:
// mi connetto nuvoamente
include('db_connect.php');
// reindirizzo i dati che riceverò ad una pagina savemod.php, dove poi dovrò fare quello che
// ancora non so!
echo "<form method='post' action='savemod.php'>";
if (isset($_REQUEST['edit'])) {
$query = "SELECT * FROM articolo WHERE id='" . $_REQUEST['edit'] . "'";
echo "$row[titolo]";
$result = mysql_query($query) or die(mysql_error());
// non fare caso ai vari campi in più a quelli che mi hai dato, il mio script è fatto così ed
// ha anche il controllo password (confrontato con una variabile in db_connect quindi no prob)
while ($row=mysql_fecth_array($query)) {
echo "<h2>Titolo</h2><input type='text' name='titolo' size='40' value='". $row['titolo'] ."' />";
echo "
";
echo "<h2>Autore</h2><input type='text' name='autore' size='40' value='" . $row['autore'] . "' />";
echo "
";
echo "<h2>Testo</h2><textarea cols='60' rows='30' name='testo'>";
echo $row['testo'];
echo "</textarea>";
echo "
";
echo "<h2>Keywords</h2><input type='text' size='40' name='keywords' />";
echo "
";
echo "<h2>Password</h2><input type='password' size='40' name='pass' />";
echo "
";
echo "<input type='submit' value='Invia' />";
}
}
echo "</form>";
mysql_close($db);
?>
Per quanto riguarda il modificare la query MySQL funziona così:
UPDATE tabella SET campo=valore, campo2=valore2 WHERE campo3=valore3