Куки можно и не использовать.
Суть кода: все происходит на одной странице, когда заполнится первая форма, php получает через POST "send" и показывает вторую форму, добавляя inputы первой формы hiddenами
<?php if(isSet($_POST["send3"])) { ?>
Вы все заполнили!<br>
A: <?=$_POST["a"]?>, B: <?=$_POST["b"]?>, C: <?=$_POST["c"]?>, D: <?=$_POST["d"]?>, E: <?=$_POST["e"]?>, F: <?=$_POST["f"]?>
<?php else if(isSet($_POST["send2"])) { ?>
<form method="post">
<input type=hidden name=a value="<?=htmlspecialchars($_POST['a'])?>">
<input type=hidden name=b value="<?=htmlspecialchars($_POST['b'])?>">
<input type=hidden name=c value="<?=htmlspecialchars($_POST['c'])?>">
<input type=hidden name=d value="<?=htmlspecialchars($_POST['d'])?>">
Поле E: <input type=text name=e><br>
Поле F: <input type=text name=f><br>
<input type=hidden name=send3>
<input type=submit value="Далее">
</form>
<?php else if(isSet($_POST["send1"])) { ?>
<form method="post">
<input type=hidden name=a value="<?=htmlspecialchars($_POST['a'])?>">
<input type=hidden name=b value="<?=htmlspecialchars($_POST['b'])?>">
Поле C: <input type=text name=c><br>
Поле D: <input type=text name=d><br>
<input type=hidden name=send2>
<input type=submit value="Далее">
</form>
<?php } else { ?>
<form method="post">
Поле A: <input type=text name=a><br>
Поле B: <input type=text name=b><br>
<input type=hidden name=send1>
<input type=submit value="Далее">
</form>
<?php } ?>
PS. пока не проверял
PSS. читать код надо снизу