Kom er niet uit met cijfers berekenen
Ik ben bezig met PHP opdracht alleen kom ik er niet helemaal uit. Kunnen jullie mij daarbij misschien helpen?
//invoer
score: moet numerieke waarden bevatten
niveau verplicht veld
//uitvoer
lijst met namen en cijfers op alfabetische volgorde
formule cijfer = score / maximum_score 8,5 + 1,,5.
bij niveau L moet er een half punt bij worden geteld, H een half eraf. Cijfer mag niet boven 10 uitkomen.
Achter het cijfer komt het woord "onvoldoende" als het cijfer onder de 6 uitkomt, het woord "goed" hoger bij een 7, de zes en de zeven krijgen "voldoende" achter het cijfer.
ik ben jullie zeer dankbaar :)
->
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html>
<body>
<style>
.error {color: #FF0000;}
</style>
<?php
$naam_fout="";
$naam="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$naam = $_POST["naam"];
if ($naam == "") {
$naam_fout = "Maximumscore is verplicht";
}
else {
if (!preg_match("/^[a-zA-Z ]*$/",$naam)){
$naam_fout = "Alleen letters en spaties";
}
}
}
?>
<p><span class="error">*Verplicht veld</span></p>
<form method="post" action="">
Maximumscore <input type="text" name="maximumscore">
<span class="error">* <?php echo $naam_fout;?></span>
<br>
<br>
<?php
$naam = $functie ="";
$naam = $_POST{"naam"};
$score = $_POST{"score"};
?>
</form>
<form action="" method="post">
Naam1: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam2: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam3: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam4: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br>
<p>Niveau:</p>
</form>
<form action="" method="post">
<input type="radio" value="L" name="L"> L
<input type="radio" value="M" name="M"> M
<input type="radio" value="H" name="H"> H
<br>
<input name="Bereken cijfer" type="submit">
<br><br>
<html>
<body>
<style>
.error {color: #FF0000;}
</style>
<?php
$naam_fout="";
$naam="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$naam = $_POST["naam"];
if ($naam == "") {
$naam_fout = "Maximumscore is verplicht";
}
else {
if (!preg_match("/^[a-zA-Z ]*$/",$naam)){
$naam_fout = "Alleen letters en spaties";
}
}
}
?>
<p><span class="error">*Verplicht veld</span></p>
<form method="post" action="">
Maximumscore <input type="text" name="maximumscore">
<span class="error">* <?php echo $naam_fout;?></span>
<br>
<br>
<?php
$naam = $functie ="";
$naam = $_POST{"naam"};
$score = $_POST{"score"};
?>
</form>
<form action="" method="post">
Naam1: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam2: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam3: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br><br>
Naam4: <input type="text" naam="functie">
Score: <input type="number" naam="functie">
<br>
<p>Niveau:</p>
</form>
<form action="" method="post">
<input type="radio" value="L" name="L"> L
<input type="radio" value="M" name="M"> M
<input type="radio" value="H" name="H"> H
<br>
<input name="Bereken cijfer" type="submit">
<br><br>
Gewijzigd op 12/06/2019 16:40:52 door Kirsten J
Welkom op PHPhulp.
Op dit forum zijn meerdere mensen die graag hulp zoeken. Daarom wil ik je vriendelijk vragen of je jouw bericht kan aanpassen en een duidelijke onderwerp kan invullen.
Ook hebben we opmaakcodes ([code] en [/code] om codeblokken te maken. Zie ook de opmaakcodes in de Veelgestelde Vragen.
Als je jouw bericht wilt aanpassen, erg graag. Bedankt alvast!
Gewijzigd op 12/06/2019 16:27:20 door - Ariën -
Ik zal het meteen doen!
Dank :)
De grootste "fout" is denk ik dat je nu met 3 verschillende forms werkt. Als je op "Bereken cijfer" drukt, wordt alleen laatste form verstuurd en wordt niets met de andere 2 forms gedaan.
Daarnaast heb je in het form met de namen 8 inputvelden met dezelfde naam (waar je foutief ook naam="" ipv name="" gebruikt). Het 8ste inputveld zal dus de vorige 7 weer overschrijven.
Als ik het goed begrijp wil je als invoer dus 1 of meerdere namen in voeren en daarbij per naam een score en een niveau per naam?
Of is het niveau 1x invullen voor alle namen/personen?
Klopt dat?
Gewijzigd op 12/06/2019 16:52:37 door Ramon van Dongen
Meerdere namen invoeren en daarbij de score en niveau dat klopt. Ik heb zelf dingen zitten proberen en inderdaad zie ik dat ik met teveel forms werk (haha). Alleen kom ik er gewoon niet uit...
Allereerst door 1 form te maken voor de invoer.
Als we die dan gaan versturen door het klikken op de submit knop, heb je iets zinnigs om mee verder te werken voor de output.
Je hebt in je voorbeeld 4x een inputveld voor naam.
Is dat een vast aantal of kunnen het er ook 2 of 20 zijn?
Dan kan je na lijn 12 met dit kijken welke data je meestuurt:
Uiteraard dient deze functie enkel om te testen, zodat je jouw waardes op de correcte manier kan afhandelen.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!doctype html>
<html>
<body>
<table border="0">
<tr>
<td>
<table>
<td>
Maximum score:
<input type="text" name="mscore">
</td>
</tr>
<tr>
<td>
Naam1: <input type="text" name="naam1" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam2: <input type="test" name="naam2" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam3: <input type="text" name="naam3" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam4: <input type="text" name="naam4" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<td>
Niveau:
<input type="radio" name="half punt bij"
<?php if (isset($score) && $score=="L") echo "checked";?>
value="L">L
<input type="radio" name="M"
<?php if (isset($score) && $score=="M") echo "checked";?>
value="M">M
<input type="radio" name="half punt eraf"
<?php if (isset($score) && $score=="") echo "checked";?>
value="H">H
</td>
<tr>
<td align="left">
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
<button type="submit" value="Bereken cijfer">Bereken cijfer</button>
</form>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table border="0">
<tr>
<td>
<table>
<td>
Maximum score:
<input type="text" name="mscore">
</td>
</tr>
<tr>
<td>
Naam1: <input type="text" name="naam1" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam2: <input type="test" name="naam2" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam3: <input type="text" name="naam3" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<tr>
<td>
Naam4: <input type="text" name="naam4" required>
score: <input type="text" name="score:"><br>
</td>
</tr>
<td>
Niveau:
<input type="radio" name="half punt bij"
<?php if (isset($score) && $score=="L") echo "checked";?>
value="L">L
<input type="radio" name="M"
<?php if (isset($score) && $score=="M") echo "checked";?>
value="M">M
<input type="radio" name="half punt eraf"
<?php if (isset($score) && $score=="") echo "checked";?>
value="H">H
</td>
<tr>
<td align="left">
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
<button type="submit" value="Bereken cijfer">Bereken cijfer</button>
</form>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
Gewijzigd op 12/06/2019 17:05:40 door Kirsten J
Als je het dan toch al met een tabel wilt doen, is dit dan niet makkelijker?
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
36
37
38
39
40
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
36
37
38
39
40
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td><select name="niveau[1]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td><select name="niveau[2]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td><select name="niveau[3]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td><select name="niveau[4]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
</table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td><select name="niveau[1]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td><select name="niveau[2]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td><select name="niveau[3]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td><select name="niveau[4]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
</table>
Zie ook https://jsfiddle.net/apzq36sv/
Gewijzigd op 12/06/2019 17:12:59 door Ramon van Dongen
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit
Je radio is ook niet correct.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_radio
Maak eerst het formulier in orde.
Ramon van Dongen op 12/06/2019 17:11:53:
Nu is een tabel niet de juiste manier om de inputvelden qua layout weer te geven op je pagina, maar dat is weer een andere discussie.
Als je het dan toch al met een tabel wilt doen, is dit dan niet makkelijker?
Zie ook https://jsfiddle.net/apzq36sv/
Als je het dan toch al met een tabel wilt doen, is dit dan niet makkelijker?
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
36
37
38
39
40
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
36
37
38
39
40
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td><select name="niveau[1]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td><select name="niveau[2]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td><select name="niveau[3]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td><select name="niveau[4]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
</table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td><select name="niveau[1]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td><select name="niveau[2]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td><select name="niveau[3]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td><select name="niveau[4]">
<option value="L">L</option><option value="M">M</option><option value="H">H</option>
</select></td>
</tr>
</table>
Zie ook https://jsfiddle.net/apzq36sv/
Dat ziet er inderdaad makkelijker uit maar het moet verplicht met een "submit" en met radio circles. (ziet er heel netjes uit trouwens! haha) Als je dus op submit klikt moet de bijv. de ingevoerde info te zien zijn.
Toevoeging op 12/06/2019 17:25:56:
- SanThe - op 12/06/2019 17:20:30:
Je form is nog niet correct.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit
Je radio is ook niet correct.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_radio
Maak eerst het formulier in orde.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit
Je radio is ook niet correct.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_radio
Maak eerst het formulier in orde.
Ik had het even snel als HTML bestand gemaakt als voorbeeld voor het PHP. Bedankt! :-)
Quote:
Logisch dat er nog een submit bij moet. Radio input moet je dus aanpassen.Dat ziet er inderdaad makkelijker uit maar het moet verplicht met een "submit" en met radio circles.
Zoiets:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
echo '<pre>'.print_r($_POST,true).'</pre>';
}
?>
<!DOCTYPE html>
<html>
<body>
<form method="post">
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td>
<input type="radio" name="niveau[1]" value="L">
<input type="radio" name="niveau[1]" value="M">
<input type="radio" name="niveau[1]" value="H">
</td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td>
<input type="radio" name="niveau[2]" value="L">
<input type="radio" name="niveau[2]" value="M">
<input type="radio" name="niveau[2]" value="H">
</td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td>
<input type="radio" name="niveau[3]" value="L">
<input type="radio" name="niveau[3]" value="M">
<input type="radio" name="niveau[3]" value="H">
</td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td>
<input type="radio" name="niveau[4]" value="L">
<input type="radio" name="niveau[4]" value="M">
<input type="radio" name="niveau[4]" value="H">
</td>
</tr>
</table>
<input type="submit" value="Klikkie klikkie">
</form>
</body>
</html>
if($_SERVER['REQUEST_METHOD'] == "POST"){
echo '<pre>'.print_r($_POST,true).'</pre>';
}
?>
<!DOCTYPE html>
<html>
<body>
<form method="post">
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="naam[1]"></td>
<td><input type="number" name="score[1]"></td>
<td>
<input type="radio" name="niveau[1]" value="L">
<input type="radio" name="niveau[1]" value="M">
<input type="radio" name="niveau[1]" value="H">
</td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="naam[2]"></td>
<td><input type="number" name="score[2]"></td>
<td>
<input type="radio" name="niveau[2]" value="L">
<input type="radio" name="niveau[2]" value="M">
<input type="radio" name="niveau[2]" value="H">
</td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="naam[3]"></td>
<td><input type="number" name="score[3]"></td>
<td>
<input type="radio" name="niveau[3]" value="L">
<input type="radio" name="niveau[3]" value="M">
<input type="radio" name="niveau[3]" value="H">
</td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="naam[4]"></td>
<td><input type="number" name="score[4]"></td>
<td>
<input type="radio" name="niveau[4]" value="L">
<input type="radio" name="niveau[4]" value="M">
<input type="radio" name="niveau[4]" value="H">
</td>
</tr>
</table>
<input type="submit" value="Klikkie klikkie">
</form>
</body>
</html>
Moet je bij de radio alleen de L, M en H er tekstueel nog bij zetten. Maar daar kom je vast zelf wel aan uit.
Gewijzigd op 12/06/2019 18:17:52 door - Ariën -
Gewijzigd op 12/06/2019 18:17:18 door Kirsten J
Oke, succes :-)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!DOCTYPE html>
<html>
<body>
<style>
.error {color: #FF0000;}
</style>
<?php
//Ophalen gegevens van scherm
$naam = $score = "";
$niveau="";
$niveau_error="";
$naam = $functie ="";
$naam = $_POST["naam"];
$score = $_POST["score"];
//Declaratie variabelen
if (empty($_POST["niveau"])) {
$niveau_error = "";
}
else {
if (!preg_match("/^[a-zA-Z ]*$/",$naam)){
$naam_fout = "Alleen letters en spaties";
}
}
//Functie
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
//Definineren Formulier
echo "Cijferlijst";
?>
<p><span class="error">* Verplicht veld</span></p>
Maximumscore <input type="text" name="maximumscore">
<br><br>
<form method="post" action="">
Naam1: <input type="text" name="Naam1">
Score: <input type="number" name="score1">
<br><br>
Naam2: <input type="text" name=""="Naam2">
Score: <input type="number" name=""="score2">
<br><br>
Naam3: <input type="text" name=""="Naam3">
Score: <input type="number" name=""="score3">
<br><br>
Naam4: <input type="text" name=""="Naam4">
Score: <input type="number" name=""="score4">
<br>
Niveau:
<input name="Niveau" type="radio" value="L"> L
<input name="Niveau" type="radio" value="M"> M
<input name="Niveau" type="radio" value="H"> H
<span class="error">*<?php echo $niveau_error;?></span>
<br><br>
<input name="Bereken cijfer" type="submit">
<?php
echo "<br><br>";
echo "Cijfer:<br>";
$naam = array(' 1 '=> $naam, ' 2 '=> $naam, ' 3 '=> $naam, ' 4 '=> $naam);
//"$naam" wordt getoond op de website
asort ($naam);
foreach ($naam as $x => $x_value) {
echo "naam: " . $x . ", score: " . $x_value;
echo "<br>";
}
?>
<?php
//Uitvoeren op scherm
if ($naam == "Piet" and $score == "7") {
echo "Goed";
} elseif ($naam == "Tom") {
echo "Onvoldoende";
} elseif ($naam == "Jan") {
echo "Goed";
} elseif ($naam == "Nick")
echo "Onvoldoende";
round($getal, 1);
$cijfer = array(7, 5, 8, 3);
$score = array($cijfer) / ($maximum_score) * 8.5 + 1.5;
echo $cijfer;
?>
</body>
</html>
<html>
<body>
<style>
.error {color: #FF0000;}
</style>
<?php
//Ophalen gegevens van scherm
$naam = $score = "";
$niveau="";
$niveau_error="";
$naam = $functie ="";
$naam = $_POST["naam"];
$score = $_POST["score"];
//Declaratie variabelen
if (empty($_POST["niveau"])) {
$niveau_error = "";
}
else {
if (!preg_match("/^[a-zA-Z ]*$/",$naam)){
$naam_fout = "Alleen letters en spaties";
}
}
//Functie
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
//Definineren Formulier
echo "Cijferlijst";
?>
<p><span class="error">* Verplicht veld</span></p>
Maximumscore <input type="text" name="maximumscore">
<br><br>
<form method="post" action="">
Naam1: <input type="text" name="Naam1">
Score: <input type="number" name="score1">
<br><br>
Naam2: <input type="text" name=""="Naam2">
Score: <input type="number" name=""="score2">
<br><br>
Naam3: <input type="text" name=""="Naam3">
Score: <input type="number" name=""="score3">
<br><br>
Naam4: <input type="text" name=""="Naam4">
Score: <input type="number" name=""="score4">
<br>
Niveau:
<input name="Niveau" type="radio" value="L"> L
<input name="Niveau" type="radio" value="M"> M
<input name="Niveau" type="radio" value="H"> H
<span class="error">*<?php echo $niveau_error;?></span>
<br><br>
<input name="Bereken cijfer" type="submit">
<?php
echo "<br><br>";
echo "Cijfer:<br>";
$naam = array(' 1 '=> $naam, ' 2 '=> $naam, ' 3 '=> $naam, ' 4 '=> $naam);
//"$naam" wordt getoond op de website
asort ($naam);
foreach ($naam as $x => $x_value) {
echo "naam: " . $x . ", score: " . $x_value;
echo "<br>";
}
?>
<?php
//Uitvoeren op scherm
if ($naam == "Piet" and $score == "7") {
echo "Goed";
} elseif ($naam == "Tom") {
echo "Onvoldoende";
} elseif ($naam == "Jan") {
echo "Goed";
} elseif ($naam == "Nick")
echo "Onvoldoende";
round($getal, 1);
$cijfer = array(7, 5, 8, 3);
$score = array($cijfer) / ($maximum_score) * 8.5 + 1.5;
echo $cijfer;
?>
</body>
</html>
Dus alleen omdat iemand Nick heet, heeft hij een onvoldoende? Ook onaardig ;-)
Als je mijn voorbeeld pakte, zonder iets te wijzigen, en je vulde de input velden in. Wat kwam er dan na het drukken op de submitknop op je scherm te staan?
Ramon van Dongen op 12/06/2019 21:33:08:
En hoe ben je tot deze bijzondere brei aan code gekomen?
Dus alleen omdat iemand Nick heet, heeft hij een onvoldoende? Ook onaardig ;-)
Als je mijn voorbeeld pakte, zonder iets te wijzigen, en je vulde de input velden in. Wat kwam er dan na het drukken op de submitknop op je scherm te staan?
Dus alleen omdat iemand Nick heet, heeft hij een onvoldoende? Ook onaardig ;-)
Als je mijn voorbeeld pakte, zonder iets te wijzigen, en je vulde de input velden in. Wat kwam er dan na het drukken op de submitknop op je scherm te staan?
Haha, ik heb het geprobeerd en krijg het volgende info te zien
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
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
Array
(
[naam] => Array
(
[1] => Tim
[2] => Nick
[3] => Johan
[4] => Stephanie
)
[score] => Array
(
[1] => 1
[2] => 1
[3] => 1
[4] => 1
)
[niveau] => Array
(
[1] => H
[2] => M
[3] => M
[4] => H
)
)
(
[naam] => Array
(
[1] => Tim
[2] => Nick
[3] => Johan
[4] => Stephanie
)
[score] => Array
(
[1] => 1
[2] => 1
[3] => 1
[4] => 1
)
[niveau] => Array
(
[1] => H
[2] => M
[3] => M
[4] => H
)
)
Gewijzigd op 12/06/2019 21:43:30 door Kirsten J
Die bestaat op zijn beurt weer uit de volgende array's:
naam
score
niveau
Verspreid over 3 array's heb je dus alle informatie bij elkaar die je nodig hebt voor je berekening. Of eigenlijk 2, want de naam maakt voor het cijfer niet uit (hoop ik).
$_POST['score'][1] is de score van Tim (= $_POST['naam'][1])
Kun je het zo volgen wat er gebeurt in de code? (stapje voor stapje)
Toevoeging op 12/06/2019 21:51:16:
ps: ik snap alleen je 'maximum score' nog niet zo. Wat wordt hier precies mee bedoelt?
Haha nee, er word niemand voorgetrokken! Stap voor stap probeer ik het te begrijpen :) maximum score -> cijfer = score / maximum_score x 8,5 + 1,5
Of bedoel je:
cijfer = ((score / maximum_score) * 8,5) + 1,5 waardoor het 7,45 is?