PHP-код читается сервером, а затем вывод преобразуется в HTML.
Единственный способ снова прочитать PHP (после выполнения действия на странице) - это повторно отправить страницу или перейти на новую.
Вы можете использовать JavaScript для выполнения действий на стороне клиента, но опять же, код PHP читается только в начале.
Вот пример того, что вы можете сделать с помощью JS:
<form name="vehicle">
Car Make:
<select name="carbrand" onChange="updatecartype(this.selectedIndex)" >
<option selected>Select A Car Brand</option>
<option value="ford">Ford</option>
<option value="mazda">Mazda</option>
<option value="kia">Kia</option>
</select>
Car Model:
<select name="cartype" >
<option value="NONE" selected>-------------------</option>
</select>
</form>
<script type="text/javascript">
var carbrandlist=document.vehicle.carbrand
var cartypelist=document.vehicle.cartype
var cartype=new Array()
cartype[0]=""
cartype[1]=["Focus|focus", "F-150|f150", "Taurus|taurus"]
cartype[2]=["Protege|protege", "Tribute|tribute", "RX-8|rx8", "CX-9|cx9"]
cartype[3]=["Rio|rio", "Sedona|sedona", "Optima|optima", "Soul|soul", "Sorento|sorento"]
function updatecartype(selectedcar){
cartypelist.options.length=0
if (selectedcar>0){
for (i=0; i<cartype[selectedcar].length; i++)
cartypelist.options[cartypelist.options.length]=new Option(cartype[selectedcar][i].split("|")[0], cartype[selectedcar][i].split("|")[1])
}
}
</script>
Вот прямой подход к повторному представлению / 2 страницы с использованием только PHP, как и требовалось.
//step1.php
//================
<form method='post' action='step2.php'>
Choose State <br>
<select name='state'>
<option value='MI'>Michigan</option>
<option value='IL'>Illinois</option>
</select>
<input type='submit' value='Select State'>
</form>
//step2.php
//================
<form method='post' action='step3.php'>
Choose Company <br>
<select name='company'>
<?php
$state_choice = $_POST['state'];
if ($state_choice == 'MI') {
echo "<option value='ABC'>Company ABC</option>";
echo "<option value='DEF'>Company DEF</option>";
}
if ($state_choice == 'IL') {
echo "<option value='UVW'>Company UVW</option>";
echo "<option value='XYZ'>Company XYZ</option>";
}
?>
</select>
<input type='submit' value='Select Company'>
</form>