![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.03.2008 Ostrzeżenie: (0%)
|
Witam.
Mam taki oto prosty skrypt generujący pytania i możliwe do wyboru odpowiedzi w teście.
Problem jest tego typu, że nie mogę wymyśleć warunku sprawdzającego poprawność wybranych odpowiedzi. Byłbym wdzięczny gdyby ktokolwiek mógł mi podsunąć rozwiązanie, albo chociaż podpowiedzieć jak się do tego zabrać. pozdrawiam. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
Witam. Mam taki oto prosty skrypt generujący pytania i możliwe do wyboru odpowiedzi w teście.
Problem jest tego typu, że nie mogę wymyśleć warunku sprawdzającego poprawność wybranych odpowiedzi. Byłbym wdzięczny gdyby ktokolwiek mógł mi podsunąć rozwiązanie, albo chociaż podpowiedzieć jak się do tego zabrać. pozdrawiam. a nei wystarcza same if'y? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.03.2008 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
Prawdopodobnie wystarczą, problem jest taki, że nie wiem jak je sformułować. Próbowałem coś takiego:
Ale musi być z tym if-em coś nie tak, bo nie działa. powinno byc:
chyba ze chciales wyswietlic to:
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.03.2008 Ostrzeżenie: (0%)
|
No więc doszedłem do czegoś takiego:
Ten post edytował misiol 29.03.2008, 18:27:31 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
No więc doszedłem do czegoś takiego: [php] <?php $p1 = $_POST[$odp[0]]; $p2 = $_POST[$odp[1]]; $p3 = $_POST[$odp[2]]; $odpowiedzi_zle = array(); $odpowiedzi_dobre = array(); if( $p1=='' || $p2=='' || $p3=='') { echo 'Wypełnij cały quiz!'; } else { $wynik=0; if ($_POST[$odp0] == $prawidlowe[0]) { $wynik++; $odpowiedzi_dobre['p1'] = '1'; } else { $odpowiedzi_zle['p1'] = '1'; } if($_POST[$odp1] == $prawidlowe[1]) { $wynik++; $odpowiedzi_dobre['p2'] = '2'; } else { $odpowiedzi_zle['p2'] = '2'; } if($_POST[$odp2] == $prawidlowe[2]) { $wynik++; $odpowiedzi_dobre['p3'] = '3'; else { $odpowiedzi_zle['p3'] = '3'; } $wynik = ($wynik / 3 * 100) + 0.1 ; $ilosc_odp_dobrych = count($odpowiedzi_dobre); if($wynik <= 50.1 ) { echo 'nie udalo ci sie osiagnac wymaganej liczby prawidlowych odpowiedzi'; } else { echo 'brawo, zaliczyles test'; echo 'odpowiedizales poprawnie na '.$ilosc_odp_dobrych.' pytan'; } i? jakis problem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ? |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.03.2008 Ostrzeżenie: (0%)
|
No problem jest taki, że to sprawdzanie odpowiedzi nie działa. Wybieram odpowiedzi i nic się nie dzieje. Można to przetestować tutaj - http://www.amigoksg.ovh.org/test/testing.php
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 10 Dołączył: 25.12.2005 Skąd: Ruda Śląska Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%)
|
pracuje nad pewnymi ankietami dla pewnej firmy, mam w nich pewna gigantyczna tablice ktora wyglada nastepujaco:
array('1' => array('pytanie', 'warunek poprawnosci'), '2' => array('pytanie2', 'warunek poprawnosci2')); warunek poprawnosci to funkcje napisane, do ktorych wchodza odpowiedzi z sesji i wyrzucaja wartosc logiczna. Po tablicy leci jakis foreach, jest to lepsze rozwiazanie od 50 if'ów, poniewaz kiedy chcemy dodac pytanie, to dodajemy tylko do konfiga testu - czyli do tej wielkiet tablicy z pytaniami, a reszte zostawiamy bez zmian. |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 18:04 |