Как сохранять ответы в опроснике с пагинацией?

Как сохранять данные формы при нажатии на кнопку вперед, которая переводит тебя к следующему вопросу и так далее пока не закончатся вопросы?

Пытался сохранять промежуточный результат в сессии, но там сохраняется только лишь последний.

Вывод массива $_SESSION:

Если ответить на 2 вопроса:

Array ( [name] => Nikita [2] => Array ( [question_id-2] => 3 [answer-2] => 1 ) )

Если ответить только на первый:

Array ( [name] => Nikita [0] => Array ( [question_id-0] => 1 [answer-0] => 1 ) )

public function calculateResult (int $theme_id, int $page_id)
    {

        if($page_id < $_POST['last_element'])
        {

            $_SESSION[$page_id]['question_id-'.$page_id] = $_POST['question_id'];
            $_SESSION[$page_id]['answer-'.$page_id] = $_POST['answer'];


            if(isset($_POST['next']))
            {
                $next_page = $page_id+1;

                header("Location: http://cisco/questions/".$theme_id."?id=".$next_page);
            }
            elseif(isset($_POST['back']))
            {
                $next_page = $page_id-1;
                header("Location: http://cisco/questions/".$theme_id."?id=".$next_page);
            }
            elseif(isset($_POST['send']))
            {

                print_r($_SESSION);
            }

        }
        else
        {
            print_r($_SESSION);
            #print_r($question_id);
           
        }





    }

}

Полный репозиторий - https://github.com/RecentForce99/survey/tree/main Примерно такая верстка:

<div class="wrapper">
    <div class="question-block">
        
                <input type="hidden" value="<?=count($array)-1?>" name="last_element">
                <input type="hidden" value="<?=$array[$i]['id']?>" name="question_id">
                <h2>Вопрос</h2>
           
    </div>

    <div class="answer-block d-flex flex-column d-flex">
       
        <div>
        <input type="radio" id="answer-<?=$val['id']?>"  required value="1" name="answer">
        <label for="answer-<?=$val['id']?>">Ответ №1</label>
        </div>
      <div>
        <input type="radio" id="answer-<?=$val['id']?>"  required value="1" name="answer">
        <label for="answer-<?=$val['id']?>">Ответ №2</label>
        </div>
      <div>
        <input type="radio" id="answer-<?=$val['id']?>"  required value="1" name="answer">
        <label for="answer-<?=$val['id']?>">Ответ №3</label>
        </div>
      <div>
        <input type="radio" id="answer-<?=$val['id']?>"  required value="1" name="answer">
        <label for="answer-<?=$val['id']?>">Ответ №4</label>
        </div>
        
    </div>

    <div class="buttons d-flex justify-content-center align-items-baseline">
        <input type="submit" value="Назад" name="back">
        <input type="submit" value="Далее" name="next">
        <div class="pagination">
            

                <a class="pagination-number" href="http://cisco/questions/1?id=<?=$i?>">1</a>
          <a class="pagination-number" href="http://cisco/questions/1?id=<?=$i?>">2</a>
          <a class="pagination-number" href="http://cisco/questions/1?id=<?=$i?>">3</a>
          <a class="pagination-number" href="http://cisco/questions/1?id=<?=$i?>">4</a>
          <a class="pagination-number" href="http://cisco/questions/1?id=<?=$i?>">5</a>
           
        </div>


        <input type="submit" value="Отправить" name="send">
    </div>


</div>

Ответы (0 шт):