Quote Originariamente inviata da enricoc_1969 Visualizza il messaggio
questa la mia form tralasciando alcuni particolari

$query= "SELECT * FROM comuni ORDER BY nome"
<form action ="registra.php" method="POST" >
<tr>
<td>Comune</td>
<td><select name="comune" size ="1">
<?php
$risultato=mysql_query($query) or die("non riesco ad eseguire la query");
while($riga= mysql_fetch_assoc($risultato))
echo "<option value=" . '"' . $riga['id_comune'].'">'.$riga['nome']."</option>"."\n";
/* sarebbe come scrivere:
echo "<option value='$riga[id_comune]'> $riga[nome]</option>"."\n"; */
?>
</select>
</td>
</tr>

la domanda è : come fare per far si che su registra.php , il quale raccoglie i dati della form con un foreach, venga il nome del comune mentre nel database il codice id ?
Con questo tipo di struttura non passi il nome del comune ma solo l'ID. potresti fare due cose per visualizzare il nome del comune in registra.php:

A) creare un input di tipo hidden e creare una funzione onchange sulla select che inserisce nel value del campo hidden il nome del comune selezionato
B) nella pagina registra ricevuto l'ID del comune interroghi nuovamente il DB andando ad estrarre solamente la riga con quell'ID e visualizzare il contenuto del campo nome