• 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.

Object Storage Arubacloud
+1 głos
669 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,400 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 282 wizyt
pytanie zadane 18 grudnia 2016 w PHP przez FruitBandit Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 433 wizyt
0 głosów
1 odpowiedź 152 wizyt
pytanie zadane 25 września 2019 w PHP przez Jokii Nowicjusz (240 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...