Código PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Este es el formulario que aparecera al principio para que el segundo pueda cambiar dinamicamente en base a este -->
<select name="provinicia">
<option value="madrid">Madrid</option>
<option value="toledo">Toledo</option>
</select>
<input type="hidden" name="comprobarForm" value="1">
<input type="submit" value="Comprobar pueblos disponibles">
</form>
<!-- Ahora comienza la comprobacion de datos para desplegar el segundo select dinamicamente -->
<?php
if(isset($_POST['comprobarForm'])){
$provincia = $_POST['provincia'];
if($provincia == "Madrid"){
echo "<select name=\"pueblo\">
<option value=\"Alcobendas\">Alcobendas</option>
<option value=\"Coslada\">Coslada</option>
<option value=\"Sansebastian\">San Sebastian</option>
</select>";
}
elseif($provincia == "Toledo"){
echo "<select name=\"pueblo\">
<option value=\"Toledo\">Toledo ciudad</option>
<option value=\"Illescas\">Illescas</option>
<option value=\"Carranque\">Carranque</option>
</select>";
}
}
?>
Con esto ya van a cambiar dependiendo si eligen madrid o toledo, el usuario elige madrid o toledo, da clic en el boton comprobar pueblos disponibles y dinamicamente apareceran, lo demas es tu historia ;)
Saludos