First, your dropdown menus should probably be in a separate form from any larger form you may be having the user submit.
Second, the method that I use is Javascript, which reloads the entire page when you select something from one of the dropdown menus. If the user has partially filled in the form and then changes a menu item, this could be a problem.
The key is add some javascript to the SELECT dropdown menu item in your form like so, assuming the name of this menu is 'dropdown1':
<select style=name="dropdown1" onchange="window.location=('{$php_self}?&dropdown1=' + this.options[this.selectedIndex].value)">
Now when the user selects an item in this menu, the entire page will reload and, if you are using the GET method, the selected item will come in as $HTTP_GET_VARS['dropdown1'].
When you are displaying dropdown1, you should have a loop with if statements, if the item you are adding = $HTTP_GET_VARS['dropdown1'] then set that item to SELECTED.
And you could have it so if !isset($HTTP_GET_VARS['dropdown1']) then you can suppress the display of dropdown2.