ok, ho dato un'occhiata + approfondita...
ci sono due errori: uno veniale, laddove nella riga
Codice PHP:
echo "<TR><TD align='right'><label>[b]Nome Categoria:</label></TD><TD> <input type='text' name='nomecat' size='30' value='$val'>
</TD></TR>"

non chiudi il tag [b]
e quello sostanziale, nel codice PHP vero e proprio.
Nella stessa riga di prima, tu definisci un campo di testo con:
nome = nomecat e
value = $val
ma poi quando fai l'update, scrivi:
Codice PHP:
SET nomecategoria='$val' 
ovvero la variabile definita prima della modifica!
Invece, devi recuperare il valore trasmesso da nomecat, quindi dopo la modifica, ed utilizzare quello per l'update.