feedback
Ik ben nog niet zo goed met PHP, en heb daarom een scriptje gemaakt om het te leren.
Graag zou ik op dit scriptje feedback willen hebben van jullie, over wat beter kan en hoe het dan zou moeten :).
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
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
<?php
session_start();
if(!isset($_SESSION['scoregoed']) and !isset($_SESSION['scoreslecht'] )){
$_SESSION['scoregoed']=0;
$_SESSION['scoreslecht']=0;
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$nummer2 = rand(0,99);
if(isset($_POST['hoger'])){
if($nummer2 > $_SESSION['nummer']){
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else{
if($nummer2 < $_SESSION['nummer']){
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
}
else{
if(isset($_SESSION['nummer'])){ //kijken of er al een waarde is
unset($_SESSION['nummer']); //ja dus verwijderen
$_SESSION['nummer'] = rand(0,100); //opnieuw maken
}
else{
$_SESSION['nummer'] = rand(0,100); // er was geen waarde, dus een maken
}
echo $_SESSION['nummer'];
?>
<html>
<head>
</head>
<body>
<form action="hoger.php" method="post">
<input type="submit" name="hoger" value="hoger"/>
<input type="submit" name="lager" value="lager"/>
</form>
</body>
</html>
<?php
echo"je hebt het al ".$_SESSION['scoregoed']. " goed gehad en " . $_SESSION['scoreslecht'] . " keer fout.";
}
?>
session_start();
if(!isset($_SESSION['scoregoed']) and !isset($_SESSION['scoreslecht'] )){
$_SESSION['scoregoed']=0;
$_SESSION['scoreslecht']=0;
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$nummer2 = rand(0,99);
if(isset($_POST['hoger'])){
if($nummer2 > $_SESSION['nummer']){
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else{
if($nummer2 < $_SESSION['nummer']){
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
}
else{
if(isset($_SESSION['nummer'])){ //kijken of er al een waarde is
unset($_SESSION['nummer']); //ja dus verwijderen
$_SESSION['nummer'] = rand(0,100); //opnieuw maken
}
else{
$_SESSION['nummer'] = rand(0,100); // er was geen waarde, dus een maken
}
echo $_SESSION['nummer'];
?>
<html>
<head>
</head>
<body>
<form action="hoger.php" method="post">
<input type="submit" name="hoger" value="hoger"/>
<input type="submit" name="lager" value="lager"/>
</form>
</body>
</html>
<?php
echo"je hebt het al ".$_SESSION['scoregoed']. " goed gehad en " . $_SESSION['scoreslecht'] . " keer fout.";
}
?>
Alvast bedankt!
alleen je inspring mag wel iets netter op sommige punten denk ik. :)
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
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
<?php
session_start();
if(!isset($_SESSION['scoregoed']) and !isset($_SESSION['scoreslecht'] ))
{
$_SESSION['scoregoed']=0;
$_SESSION['scoreslecht']=0;
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$nummer2 = rand(0,99);
if(isset($_POST['hoger']))
{
if($nummer2 > $_SESSION['nummer'])
{
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else
{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else
{
if($nummer2 < $_SESSION['nummer'])
{
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else
{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else
{
if(isset($_SESSION['nummer'])) //kijken of er al een waarde is
{
unset($_SESSION['nummer']); //ja dus verwijderen
$_SESSION['nummer'] = rand(0,100); //opnieuw maken
}
else
{
$_SESSION['nummer'] = rand(0,100); // er was geen waarde, dus een maken
}
echo $_SESSION['nummer'];
?>
<html>
<head>
</head>
<body>
<form action="hoger.php" method="post">
<input type="submit" name="hoger" value="hoger"/>
<input type="submit" name="lager" value="lager"/>
</form>
</body>
</html>
<?php
echo"je hebt het al ".$_SESSION['scoregoed']. " goed gehad en " . $_SESSION['scoreslecht'] . " keer fout.";
}
}
?>
session_start();
if(!isset($_SESSION['scoregoed']) and !isset($_SESSION['scoreslecht'] ))
{
$_SESSION['scoregoed']=0;
$_SESSION['scoreslecht']=0;
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$nummer2 = rand(0,99);
if(isset($_POST['hoger']))
{
if($nummer2 > $_SESSION['nummer'])
{
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else
{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else
{
if($nummer2 < $_SESSION['nummer'])
{
echo "je had gelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoregoed'] = $_SESSION['scoregoed'] +1;
}
else
{
echo "je had ongelijk" . $nummer2 . "vorige" . $_SESSION['nummer'] ;
unset($_SESSION['nummer']);
$_SESSION['scoreslecht'] = $_SESSION['scoreslecht'] +1;
}
}
else
{
if(isset($_SESSION['nummer'])) //kijken of er al een waarde is
{
unset($_SESSION['nummer']); //ja dus verwijderen
$_SESSION['nummer'] = rand(0,100); //opnieuw maken
}
else
{
$_SESSION['nummer'] = rand(0,100); // er was geen waarde, dus een maken
}
echo $_SESSION['nummer'];
?>
<html>
<head>
</head>
<body>
<form action="hoger.php" method="post">
<input type="submit" name="hoger" value="hoger"/>
<input type="submit" name="lager" value="lager"/>
</form>
</body>
</html>
<?php
echo"je hebt het al ".$_SESSION['scoregoed']. " goed gehad en " . $_SESSION['scoreslecht'] . " keer fout.";
}
}
?>
Gewijzigd op 16/03/2011 15:20:09 door Robert dat ben ik
@MaDHouSe: Jij hebt ook niet alle inspring netjes staan. Als je dat wel zou hebben dan had je direct gezien dat je twee keer een { niet afsluit.
Gewijzigd op 16/03/2011 15:20:53 door Robert dat ben ik
and moet trouwens eigenlijk met hoofdletters AND , OR
Okee, je hebt het al verbeterd.
Oké, bedankt voor de tips jongens!
Ik vind dit er proper uit zien. Veelgemaakte fouten (the usual suspects) die we vaak zien bij mensen die gelijkaardige vragen stellen, zie ik hier niet.
Nu, een aantal punten
- Wees consequenter in het indenteren (= de tabs of spaties links van de statements).
Je gebruikt het zelfde systeem dat ik gebruik (openende accolade niet op een volgende lijn). De keuze van het systeem op zich is een kwestie van smaak, maar zie dat je het goed gebruikt.
Alles wat staat binnen (onder)
if($_SERVER['REQUEST_METHOD'] == 'POST') {
zou meer naar rechts moeten.
- Ik ben geen voorstander van verschillende submit knoppen in 1 formulier en op het controleren op de waarde van die knoppen.
Ik zou twee aparte formulieren gebruikt hebben.
bv.
Code (php)
1
2
2
<form action="hoger.php?waarde=hoger" method="post"><input type="submit" value="hoger"/></form>
<form action="hoger.php?waarde=lager" method="post"><input type="submit" value="lager"/></form>
<form action="hoger.php?waarde=lager" method="post"><input type="submit" value="lager"/></form>
Nu, wie me op dit punt ongelijk geeft, zal ik niet tegenspreken.
- commentaar:
Goed commentaar is essentieel.
Wat is de bedoeling? Leg uit wat je van plan bent.
Je moet in je commentaar niet uitleggen wat een functie doet, als je die gebruikt.
bv.
Code (php)
1
2
3
2
3
<?php
$text = nl2br($tekt); // zorgt er voor dat alle "\n" worden omgezet in "<br/>"
?>
$text = nl2br($tekt); // zorgt er voor dat alle "\n" worden omgezet in "<br/>"
?>
Dit hoeft dus niet. Wil je weten wat nl2br doet, dan moet je maar kijken naar de documentatie van die functie op php.net
Waar gebruik je wel commentaar? Een goed idee is om de grote if() blokken uit te leggen. Leg uit wat binnen die blok code zal gebeuren.
bv.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// de gebruiker stuurt de vorige waarde op + een gok "hoger" of "lager"
// We genereren een random waarde. We controleren of de gok juist is
$nummer2 = rand(0,99);
...
}
else {
// We genereren een random waarde tussen 0 en 100. We steken die in een session variabele.
// De client krijgt een formulier waarbij die moet gokken of het volgende random getal hoger of lager zal zijn
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// de gebruiker stuurt de vorige waarde op + een gok "hoger" of "lager"
// We genereren een random waarde. We controleren of de gok juist is
$nummer2 = rand(0,99);
...
}
else {
// We genereren een random waarde tussen 0 en 100. We steken die in een session variabele.
// De client krijgt een formulier waarbij die moet gokken of het volgende random getal hoger of lager zal zijn
}
?>
- Wanneer je twee keer het zelfde doet, is de kans vrij groot dat je, met wat andere logica, het in 1 keer zou kunnen doen.
Denk bv. eens na over dit stuk code
Code (php)
Dit doet logisch gezien niets anders dan simpelweg
$_SESSION['nummer'] = rand(0,100);
Nu ja, wat mij betreft, goed bezig; doe zo voort.