Sbagliato, al più non potrai riproporre il modulo con i valori già inseriti dall'utente qualora una verifica fallisca e devi riproporre il modulo, quindi prima di fare la tua select controlli se esiste il $_POST['nuovo_record'], se non esiste fai la tua select, recuperi il valore e lo assegni a $_POST['nuovo_record'] altrimenti non fai nulla e utilizzi il valore già contenuto:
Codice PHP:
<?php
...
if(!isset($_POST['nuovo_record']){
//accedo al db, recupero il valore, ecc.
//diciamo $rec contiene il record da cui prelevare il valore di default
$_POST['nuovo_record']=$rec['nuovo_record'];
}
...
?>
<html>
...
<input type="text" name="nuovo_record" id="nuovo_record" value="<?= htmlspecialchars($_POST['nuovo_record']) ?>" />
...
</html>
Ovviamente organizza la cosa al fine di fare una sola interrogazione al DB, non fare n interrogazione per popolare n campi con valori di default.
Attento a magic quote (http://it2.php.net/manual/en/securit....disabling.php)
Se invece il tuo intento è far vedere il valore proposto in un campo di testo ma renderne impossibile la modifica all'utente allora devi usare:
Codice PHP:
<input readonly="readonly" type="text" name="nuovo_record" id="nuovo_record" value="<?= htmlspecialchars($rec['nuovo_record']) ?>" />