• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Quiz w PHP, losowe pytania przekazane do innego pliku.

VPS Starter Arubacloud
+1 głos
617 wizyt
pytanie zadane 26 kwietnia 2017 w PHP przez nielotweb Bywalec (2,240 p.)

Robię quiz w php, znaczy próbuję :v

Zrobiłem na początku najprostszy quiz w takiej postaci że jest przykładowo 20 pytań i zaznaczasz i w tym samym pliku wyświetla się ilość uzyskanych plików itd.

Teraz chcę go ulepszyć i zrobić tak że w bazie danych ( mysql ) mam pytania odpowedzi, treści itp. i będą one wyświetlane ale LOSOWO. I chcę potem po kliknięciu Sprawdź wynik przekierowało na inny adres/plik i tam pokazało ilość uzyskanych punktów iii... pokazało tam te same pytanie które wcześniej wylosowało.. i pod każdym poprawną odpowiedź ( jeśli odpowiedziano źlę ) lub wiadomość że odpowiedziano dobrze na dane pytanie.

W jaki sposób mogę to zrobić? Że w pierwszym pliku losuje mi np. 20 pytań a potem w drugim z odpowiedziami wyświetlają się właśnie te 20 losowe pytania z pierwszego pliku.

Czyli jak przekazać losowe pytania to drugiego pliku?

Załączam kod który już zrobiłem:

include_once('database_connect.php');

    $query = $dbh->prepare("SELECT * FROM quiz");
    $query->execute();
    $results = $query->fetchAll(PDO::FETCH_ASSOC);

   $_SESSION['pointsAll'] = 0;

   function checkAnswer($answer, $answerCorrect) {

       if ( isset($answer) ) {
          if ( $answer == $answerCorrect ) {

             $_SESSION['pointsAll'] = $_SESSION['pointsAll'] + 1;
             echo '<div class="correctPoints">' . $_SESSION['pointsAll'] . '</div>';//Add point when is correct
             return $_SESSION['pointsAll'];

           } else {

             $_SESSION['answerinfo'] = 'Sorry but answer is incorrect!'; //incorrect info
             return $_SESSION['answerinfo'];

           }
       }

   }


   echo '<div id="form-quiz"><form action="quiz2.php" method="post" class="form-quiz-ui">';

   foreach ($results as $value) {


       echo '<span class="text-header">';
          echo $value['id'] . '. ' .$value['tresc'];
       echo '</span>';
       echo '<label class="answer">';
         echo '<input id="checkBoxA" value="check1" name="check'. $value['id'] .'" type="radio"><span class="answer-class">A.</span>' . $value['odpa'] .'</input>';
       echo '</label>';
       echo '<label class="answer">';
         echo '<input id="checkBoxB" value="check2" name="check'. $value['id'] .'" type="radio"><span class="answer-class">B.</span>' . $value['odpb'] .'</input>';
       echo '</label>';
       echo '<label class="answer">';
         echo '<input id="checkBoxC" value="check3" name="check'. $value['id'] .'" type="radio"><span class="answer-class">C.</span>' . $value['odpc'] .'</input>';
       echo '</label>';
       echo '<label class="answer">';
         echo '<input id="checkBoxD" value="check4" name="check'. $value['id'] .'" type="radio"><span class="answer-class">D.</span>' . $value['odpd'] .'</input>';
       echo '</label>';
       echo '<input id="hidden" name="hidden" type="hidden" value="' . $value['id'] . '">';

       if ( isset($_POST['submitCheck']) && !empty($_POST['submitCheck']) ) {
           if ( isset($_POST['check' . $value['id']]) && !empty($_POST['check' . $value['id']]) ) {

                 $checkAnswerValue = $_POST['check' . $value['id']];

           } else {

             echo 'Nie wybrano żadnej odpowiedzi..';

           }
           if ( isset($checkAnswerValue) && !empty($checkAnswerValue) ) {

                 checkAnswer($checkAnswerValue, $value['godp']);

           }
       }
   }


   echo '<input type="submit" class="submitCheck" name="submitCheck">Go send</input>';

   echo '</form></div>';

 

2 odpowiedzi

0 głosów
odpowiedź 26 kwietnia 2017 przez ThePatrykOOO Dyskutant (8,380 p.)
nie lepiej ci to zrobić na jednym pliku, albo robisz include tego zapytania
0 głosów
odpowiedź 26 kwietnia 2017 przez CzikaCarry Szeryf (75,340 p.)
Przekaż je przez sesję, najprościej.

Podobne pytania

0 głosów
0 odpowiedzi 279 wizyt
pytanie zadane 18 grudnia 2016 w PHP przez FruitBandit Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 377 wizyt
0 głosów
1 odpowiedź 150 wizyt
pytanie zadane 25 września 2019 w PHP przez Jokii Nowicjusz (240 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...