Non devi inviare il form al tag select
Devi inviare il forma alla stessa pagina che creerà il tag select in base ai dati ricevuti
Immaginando che la tua tabella province contenga un campo "id_re" che identifica a quale regione appartiene quella determinata provincia, dovrai fare una cosa del genere (vedi la if(isset($_POST["id_re"])) e la clausola WHERE
Codice PHP:
form enctype="multipart/form-data" method="post" action="<?php echo $PHP_SELF ?>">
<tr><td align="right">Regione
</td><td><select name="id_re">
<?php
$query2 = "SELECT * FROM regioni ORDER BY regioni";
$result2 = mysql_query($query2, $db);
while ($row2 = mysql_fetch_array($result2))
{
echo "<option value=\"$row2[id]\">$row2[regione]";
} ?>
<tr><td align="right">Provincia
</td><td><select name="id_pr">
<?php
if(isset($_POST["id_re"]))
{
$query2 = "SELECT * FROM province WHERE id_re = ".$_POST["id_re"]." ORDER BY provincia";
$result2 = mysql_query($query2, $db);
while ($row2 = mysql_fetch_array($result2))
{
echo "<option value=\"$row2[id]\">$row2[provincia]";
}
}
?>
</select></tr>
</form>
In questo modo se è la prima volta che entri nella pagina avrai le province VUOTE, mentre se è la seconda (terza ecc), avrai anche l'elenco delle province della regione