Kan dit korter?
En dan gaat het voornamelijk over de if'jes.
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$vnaam = $_POST['voornaam'];
$anaam = $_POST['achternaam'];
$dag = $_POST['dag'];
$maand = $_POST['maand'];
$jaar = $_POST['jaar'];
$voetbal = $_POST['voetbal'];
$username = $_POST['username'];
$trainer = $_POST['trainer'];
$club = $_POST['club'];
if(empty($vnaam))
{
echo "U heeft geen voornaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($anaam))
{
echo "U heeft geen achternaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($username))
{
echo "U heeft geen gebruikersnaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($trainer))
{
echo "U heeft geen trainer ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
else
{
if($club == "kies")
{
echo "U heeft geen geldige club ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
else
{
echo "<fieldset style='width: 300px;'><legend>Controleer uw gegevens: </legend>";
echo "Voornaam: " . $vnaam . "<br />";
echo "Achternaam: " . $anaam . "<br />";
echo "Geboortedatum: " . $dag . "-" . $maand . "-" . $jaar . "<br />";
echo "Voetbal je? - ";
if($voetbal == "ja")
{
echo "Ja ik voetbal <br /><br />";
}
else
{
echo "Nee ik voetbal niet <br /><br />";
}
echo "Gebruikersnaam: " . $username . "<br />";
echo "Naam van de trainer: " . $trainer . "<br />";
echo "Uw club: " . "<b>". $club ."</b><br />";
echo "<input type='submit' name='submit' value='Bevestigen' />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
echo "</fieldset>";
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$vnaam = $_POST['voornaam'];
$anaam = $_POST['achternaam'];
$dag = $_POST['dag'];
$maand = $_POST['maand'];
$jaar = $_POST['jaar'];
$voetbal = $_POST['voetbal'];
$username = $_POST['username'];
$trainer = $_POST['trainer'];
$club = $_POST['club'];
if(empty($vnaam))
{
echo "U heeft geen voornaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($anaam))
{
echo "U heeft geen achternaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($username))
{
echo "U heeft geen gebruikersnaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
elseif(empty($trainer))
{
echo "U heeft geen trainer ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
else
{
if($club == "kies")
{
echo "U heeft geen geldige club ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
else
{
echo "<fieldset style='width: 300px;'><legend>Controleer uw gegevens: </legend>";
echo "Voornaam: " . $vnaam . "<br />";
echo "Achternaam: " . $anaam . "<br />";
echo "Geboortedatum: " . $dag . "-" . $maand . "-" . $jaar . "<br />";
echo "Voetbal je? - ";
if($voetbal == "ja")
{
echo "Ja ik voetbal <br /><br />";
}
else
{
echo "Nee ik voetbal niet <br /><br />";
}
echo "Gebruikersnaam: " . $username . "<br />";
echo "Naam van de trainer: " . $trainer . "<br />";
echo "Uw club: " . "<b>". $club ."</b><br />";
echo "<input type='submit' name='submit' value='Bevestigen' />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
echo "</fieldset>";
}
}
}
?>
Ja, je kan de if-elseif-elseif-elseif-else sowieso vervangen door een switch(). En lijn 4 t/m 12 is onzin, waarom zou je alle waardes dubbel opslaan?
Onnodig geheugenverbruik van de server.
Lijn 55 t/m 63 kan met de shorthandmethode.
Je kan beter die string met "ja" laten vervallen. Met booleans werken in PHP (true/false) is een stuk makkelijker.
Onnodig geheugenverbruik van de server.
Lijn 55 t/m 63 kan met de shorthandmethode.
Je kan beter die string met "ja" laten vervallen. Met booleans werken in PHP (true/false) is een stuk makkelijker.
Gewijzigd op 13/10/2011 19:45:45 door - Ariën -
wat betekend dit dan exact?
(($voetbal)? "Ja, ik voetbal" : "Nee, ik voetbal niet!")
(($voetbal)? "Ja, ik voetbal" : "Nee, ik voetbal niet!")
((voorwaarde)? true: false )
Wat het verder doet, hetzelfde als lijn 55 t.m 63, maar dan veel korter.
Wat het verder doet, hetzelfde als lijn 55 t.m 63, maar dan veel korter.
Gewijzigd op 13/10/2011 19:47:29 door - Ariën -
Dus wat bedoel je met die voorwaarde en die true en false?
een if-statement begint toch met een voorwaarde, die true of false wordt?
Mag jij raden of dit true of false wordt.
Code (php)
Mag jij raden of dit true of false wordt.
Gewijzigd op 13/10/2011 19:52:22 door - Ariën -
En als het nu een if is met al die elseif enzo?
Dan is de shorthand niet functioneel. Die werkt alleen voor if-else.
Voor een elseif is de switch() handiger.
Voor een elseif is de switch() handiger.
oke. dankje!
Nog een opmerking. empty is geen goede controle, gebruik liever een vergelijking met een lege string i.c.m. met trim(). Empty() geeft ook false als je bijv. 0 of null gebruikt als waarde.
Hoe zou die hier moeten dan?
if(trim($vnaam))
{
echo "U heeft geen voornaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
if(trim($vnaam))
{
echo "U heeft geen voornaam ingevoerd, probeer het nog eens.<br />";
echo "<a href='index.php'><input type='submit' value='Opnieuw' /></a>";
}
if(trim($_POST['vnaam']==""))
probeer dit eens, en vergeet $vnaam.
probeer dit eens, en vergeet $vnaam.
Dus dan gaat het zeg maar vergelijken of die vnaam geen value heeft
je weet wat trim() doet?
Ik heb even gekeken naar die switch, maar hoe zou ik dat ooit moeten doen met mijn ifjes?
Toevoeging op 13/10/2011 20:14:14:
niet precies, maar ben het al aant zoeken
Toevoeging op 13/10/2011 20:14:14:
niet precies, maar ben het al aant zoeken
Kijk eens naar php.net/switch, en probeer eens wat.
Ja ik ben aan het kijken, maar ik heb allemaal andere variabelen enzo.. dus ik snap het niet? Kan je een voorbeeld van mijn php geven?
Probeer eerst zelf eens wat.
Ja maar kijk, over staat dit:
switch ($i)
maar ik ehb allemaal verschillende vars
Toevoeging op 13/10/2011 20:31:18:
toch?
switch ($i)
maar ik ehb allemaal verschillende vars
Toevoeging op 13/10/2011 20:31:18:
toch?
Dat is wel zo...
Nee, in zo'n geval heb je er niks aan.
Nee, in zo'n geval heb je er niks aan.
Gewijzigd op 13/10/2011 20:33:19 door - Ariën -
ik kom er echt niet uit.. ik ben steeds aan het kijken.




