prova cosi:
Codice PHP:
<?
$page 
$_SERVER['PHP_SELF']; // la pagina php
$qstr $_SERVER['QUERY_STRING']; // la parte della stringa
                            
echo "<script type=text/javascript>
function cambia(id){
window.location = '
$page?$qstr&r='+id
}
</script>"
;

$sql_reg mysql_query("SELECT DISTINCT cmn_provincia FROM comuni ORDER BY cmn_provincia ASC");


echo 
"Provincia <select size=1 name=provincia onchange=java script:cambia(this.value)>";
echo 
"<option value=$_GET[r]>$_GET[r]</option>";//ho aggiunto questa riga così quando lo script java fa il refresh il browser non perde i valori
while ($data mysql_fetch_object($sql_reg))
{
echo 
"<option value=$data->cmn_provincia>$data->cmn_provincia</option>";
}
echo 
"</select>";
echo 
"Comune <select size=1 name=comune>";
if(isset(
$_GET['r'])){
$sql_prv mysql_query("SELECT cmn_provincia, cmn_comune FROM comuni where cmn_provincia='$_GET[r]' ORDER BY cmn_provincia ASC");// ho aggiunto la clausola where per farlo cercare solo nella provincia
while ($data mysql_fetch_object($sql_prv))
{
echo 
"<option value=\"$data->cmn_comune\">$data->cmn_comune</option>";
}
}else{
echo 
"<option>Seleziona prima una provincia</option>";
}
echo 
"</select>
?>
Stai attento dove c'e scritto javascript perche ti mette uno spazio cosi in piu