Структура простого теста PHP с несколькими страницами

#php #forms

#php #формы

Вопрос:

Я пытаюсь создать простое приложение для викторины со следующей структурой:

  • 10 вопросов, каждый вопрос находится на новой HTML-странице. Это выглядит примерно так: http://howmuchtomakeanapp.com / структурно
  • Каждый ответ в вопросе представляет собой отправляемую форму, которая выглядит следующим образом (поэтому, если есть 3 ответа, все они встроены в свою собственную уникальную форму):

     <form method="post" action="../question2/">
       <button type="submit" class="icon-button">
           <img src="../../img/placeholder.png">
       </button>
       <input type="hidden" name="question" value="question1">                               
       <input type="hidden" name="answer" value="Q1A">                
    </form> 
      
  • У меня есть массив со значениями в PHP, и ответы будут связаны с этими значениями. Например: ответ Q1A стоит 5 баллов, Q1B будет стоить 3.

     $var = [
       "Q1A" => 5,
       "Q1B" => 3,
       "Q1C" => 0,
       "Q2A" => 2,
       "Q2B" => 3,
        ...
    ]; 
      

На данный момент у меня есть один PHP-файл (calculate.php ), в котором я хочу рассчитать общее количество баллов. Вот где я застрял. Я не совсем уверен, как сохранить мои ответы и, таким образом, связать их значения. Я не уверен, как я должен его структурировать.

Мой вопрос: каков мой наилучший способ сохранить эти значения и, в конце концов, получить общее количество баллов, чтобы показать пользователю. Я не могу получить четкое представление о том, как я должен выполнять свою связь на стороне сервера. Как мой calculate.php как выглядит?

Комментарии:

1. вы заинтересованы в том, чтобы сделать это только на PHP? js был бы подходящим

2. Я пытаюсь сохранить значения моих ответов скрытыми в PHP. Поэтому я предпочитаю просто попробовать его и на PHP. Это также было бы хорошим уроком для меня.

Ответ №1:

Если я получу ваш вопрос, вы можете сохранить свои значения в переменной php, а затем опубликовать его со страницы на страницу

Ответ №2:

Я решил это с помощью сеансов.

     session_start();
    if(isset($_POST['answer'])){
    $_SESSION['question1'] = $_POST['answer'];}
  

Для каждой страницы я добавил новую переменную сеанса. В итоге я подсчитал счет на последней странице, соединив ответы с массивом баллов.