Mógłby ktoś pomóc to ogarnąć? Zostało mi mało czasu, a fajny patent z tymi szczegółami.
<?php
function poprawne($odpowiedz, $poprawna) {
return $odpowiedz == $poprawna;
}
function sprawdzOdpowiedzi($tablicaOdpowiedzi) {
/**
* Tablica poprawnych odpowiedzi dla pytań.
**/
$poprawneOdpowiedzi = Array(2,2,1,3,2,3,3,1,1,2,2,1,2,3,1,1,1,2,2,3,2,1,2,3,2,1,2,2,3,2);
/**
* Stwórzmy sobie słownik, który będzie nam reprezentował odpowiedź.
**/
$wynik = Array(
"odpowiedzi" => Array(),
"poprawne" => $poprawneOdpowiedzi,
"iloscBlednych" => 0,
"iloscPoprawnych" => 0,
);
foreach($poprawneOdpowiedzi as $indeks => $poprawnaOdpowiedz) {
$klucz = "q" . strval($indeks+1);
$wynik["odpowiedzi"][] = $_POST[$klucz];
if(poprawne($_POST[$klucz], $poprawnaOdpowiedz)) {
$wynik["iloscPoprawnych"]++;
}
else {
$wynik["iloscBlednych"]++;
}
}
return $wynik;
}
function szczegolyRozwiniete() {
return isSet($_GET['szczegoly']) && $_GET['szczegoly'] == 1;
}
$wynikTestu = sprawdzOdpowiedzi($_POST);
?>
<!doctype html>
<html>
<head>
<title>Wyniki Testu</title>
<meta charset="UTF-8" />
</head>
<body>
<section class="results">
<p>Twój wynik to: <?php echo $wynikTestu["iloscPoprawnych"]; ?></p>
<p>Liczba poprawnych odpowiedzi: <?php echo $wynikTestu["iloscPoprawnych"]; ?></p>
<p>Liczba błędnych odpowiedzi: <?php echo $wynikTestu["iloscBlednych"]; ?></p>
</section>
<?php
if(szczegolyRozwiniete()) {
?>
<section class="details">
<ol>
<?php
foreach($wynikTestu["odpowiedzi"] as $indeks => $odpowiedz) {
$wynikowyTekst = "";
$poprawnaOdpowiedz = $wynikTestu["poprawne"][$indeks];
if(poprawne($odpowiedz, $poprawnaOdpowiedz))
$wynikowyTekst = "<strong>Poprawnie.</strong> Odpowiedź: $odpowiedz";
else
$wynikowyTekst = "<strong>Błędnie.</strong> Odpowiedź: $odpowiedz, Powinno być: $poprawnaOdpowiedz.";
?>
<li><?php echo $wynikowyTekst; ?></li>
<?php
}
?>
</ol>
</section>
<?php
}
else {
?>
<section class="details">
<p><a href="?szczegoly=1">Pokaż szczegóły</a></p>
</section>
<?php
}
?>
</body>
</html>
Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)
Zakładki