PHP Quiz
Na een aantal weken vol in de stress gezeten te hebben, ben ik terecht gekomen op dit forum, aangenaam!
Sinds kort volg ik de studie ICT & Media, maar nu loop ik helemaal vast met PHP, mede dankzij een hele slechte leraar.
Onze opdracht is om een "Quiz" te maken met afbeeldingen. Het is bedoeling dat je een x-aantal vragen goed moet beantwoorden, en dat er dan uiteindelijk een scorelijst volgt.
Nu heb ik het inmiddels voor elkaar gekregen om om een vraag te maken en deze om te zetten naar "PHP". Zodra je bij deze vraag op het juiste antwoord klikt, wordt je score geteld (+1 punt). Nu moet ik er dus nog voor zorgen dat ik eerst meerdere vragen goed moet beantwoorden, voordat ik deze score te zien krijg (waarschijnlijk iets met $_SESSION).
Heeft iemand enig idee hoe ik dit voor elkaar kan krijgen? Ik heb heel het internet afgezocht, maar kan geen informatie vinden die me hierbij kan helpen.
Alvast bedankt!
Quiz vraag 1
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html>
<head>
<meta "charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>PHP Quiz</title>
</head>
<body>
<div id="board">
<form action="grade.php" method="post" id="quiz">
<div>
<input type="image" src="../img/quiz1/yellow.png" name="question-1-answers" id="question1-postit-yellow" value="A">
<label for="question-1-answers-A"></label>
</div>
<div>
<input type="image" src="../img/quiz1/green.png" name="question-1-answers" id="question1-postit-green" value="B">
<label for="question-1-answers-B"></label>
</div>
<div>
<input type="image" src="../img/quiz1/pink.png" name="question-1-answers" id="question1-postit-pink" value="C">
<label for="question-1-answers-C"></label>
</div>
</form>
</div>
</body>
<html>
<head>
<meta "charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>PHP Quiz</title>
</head>
<body>
<div id="board">
<form action="grade.php" method="post" id="quiz">
<div>
<input type="image" src="../img/quiz1/yellow.png" name="question-1-answers" id="question1-postit-yellow" value="A">
<label for="question-1-answers-A"></label>
</div>
<div>
<input type="image" src="../img/quiz1/green.png" name="question-1-answers" id="question1-postit-green" value="B">
<label for="question-1-answers-B"></label>
</div>
<div>
<input type="image" src="../img/quiz1/pink.png" name="question-1-answers" id="question1-postit-pink" value="C">
<label for="question-1-answers-C"></label>
</div>
</form>
</div>
</body>
Berekening
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
<head>
<meta "charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>PHP Quiz</title>
</head>
<body>
<div id="board">
<h1>Results</h1>
<?php
$answer1 = $_POST['question-1-answers'];
$answer2 = $_POST['question-2-answers'];
$answer3 = $_POST['question-3-answers'];
$answer4 = $_POST['question-4-answers'];
$answer5 = $_POST['question-5-answers'];
$totalCorrect = 0;
if ($answer1 == "B") { $totalCorrect++; }
if ($answer2 == "A") { $totalCorrect++; }
if ($answer3 == "C") { $totalCorrect++; }
if ($answer4 == "D") { $totalCorrect++; }
if ($answer5 == "B") { $totalCorrect++; }
echo "<div id='results'>$totalCorrect / 1 correct</div>";
?>
</div>
</body>
</html>
<html>
<head>
<meta "charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>PHP Quiz</title>
</head>
<body>
<div id="board">
<h1>Results</h1>
<?php
$answer1 = $_POST['question-1-answers'];
$answer2 = $_POST['question-2-answers'];
$answer3 = $_POST['question-3-answers'];
$answer4 = $_POST['question-4-answers'];
$answer5 = $_POST['question-5-answers'];
$totalCorrect = 0;
if ($answer1 == "B") { $totalCorrect++; }
if ($answer2 == "A") { $totalCorrect++; }
if ($answer3 == "C") { $totalCorrect++; }
if ($answer4 == "D") { $totalCorrect++; }
if ($answer5 == "B") { $totalCorrect++; }
echo "<div id='results'>$totalCorrect / 1 correct</div>";
?>
</div>
</body>
</html>
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 02/06/2014 15:29:26 door Bas IJzelendoorn
En wat werkt er nu dan niet?
Sorry, ik dacht dat ik duidelijk genoeg was geweest in mijn omschrijving.
Hierbij nog even wat aanvullende informatie.
De quiz is nu werkend. Geen fouten of iets dergelijks. Alleen bestaat mijn quiz momenteel maar uit 1 vraag. 1 vraag, en vervolgens zie je of je het antwoord correct had ingevuld. Nu wil ik natuurlijk meerdere vragen gaan toevoegen. Alleen heb geen idee hoe ik dat voor elkaar kan krijgen.
Ik wil dus meerdere vragen toevoegen, maar ondertussen moet er steeds ná het beantwoorden van een vraag worden gecheckt of deze goed was. Zo ja, +1 punt bij je totale score. Zo niet, geen punten! Deze scoren moet uiteindelijk worden weergegeven na het beantwoorden van een x-aantal vragen.
Die andere vragen kunnen er toch gewoon onder?
Hij moet uiteindelijk doorgaan naar vraag 2 wanneer er een antwoord gekozen is, en vervolgens naar vraag 3 etc.
Wanneer je alle vragen doorlopen hebt, moet er een resultaten pagina komen met daarop het aantal goede antwoorden.
..
Nu is het zo dat je dus 1 vraag beantwoord, en dan krijg je te zien of dat antwoord goed is. Hij moet uiteindelijk dus eerst meerdere vragen doorlopen, voordat hij te zien krijgt hoeveel goede antwoorden hij heeft gegeven.
Gewijzigd op 02/06/2014 15:56:32 door - SanThe -
Alleen hoe kan ik dat het beste doen? Heb je daar nog tips voor?
Nogmaals bedankt voor al je snelle reacties!
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$_SESSION['vraag1'] = 'fout';
$_SESSION['vraag2'] = 'goed';
$_SESSION['vraag3'] = 'fout';
$_SESSION['vraag4'] = 'goed';
?>
$_SESSION['vraag1'] = 'fout';
$_SESSION['vraag2'] = 'goed';
$_SESSION['vraag3'] = 'fout';
$_SESSION['vraag4'] = 'goed';
?>
vervolgens:
Code (php)
dan heb je ze al in een lijstje zodat de gene die de quiz krijg gelijk kan zien welke antwoorden
hij/zij goed of fout had daarna tel je de goede antwoorden bij elkaar op en kun je zien hoeveel hij/zij
er goed had en bepaal je of dat genoeg is.
succes
Gewijzigd op 02/06/2014 20:04:38 door christian k