Netjes en overzichtelijk programmeren
Regel één van debuggen is zorgen dat PHP alle foutmeldingen weergeeft. PHP geeft standaard maar een paar foutmeldingen, wanneer het echt fout gaat. Het is handig wanneer je wil debuggen te weten wanneer iets wel of niet goed gaat: zet daarom bij het coden altijd bovenaan het script:
Zo geeft php netjes de foutmeldingen die het zou moeten geven.
Om een script te debuggen moet je ook netjes en overzichtelijk programmeren. Wanneer je alles door elkaar heen typt, wordt het uiteraard een onoverzichtelijke bende. Gebruik daarom altijd comment tags, en maak gebruik van inspringingen d.m.v. tabs. Wanneer je net begint met het programmeren van PHP scripts, zul je omdat het al lastig genoeg is, hier niet veel aandacht aan geven. Maar geloof me, juist wanneer je begint met PHP is dit juist zo handig omdat je dan de meeste fouten maakt en d.m.v. het netjes en overzichtelijk programmeren er sneller uit zult komen.
Zoiets zou perfect wezen, let hier vooral op de inspringingen:
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
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
<?
//-- database connectie maken
$dbhost = "localhost";
$dbuser = "username";
$dbpass = "password";
$dbname = "databasename";
//-- haal gegevens op uit db
$sql = "SELECT id FROM tabel_naam WHERE veld = 'foo'";
$res = mysql_query($sql);
//-- kijk of er wat in de database zit
if (mysql_num_rows($res) >= 1)
{
//-- loop door de array met resultaten
while ($row = mysql_fetch_array($res))
{
//-- toon de resultaten
echo "id nummer: $row[id]<br />";
}
}
//-- toon dit wanneer er niets in de array zit
else
echo "Er is geen resultaat";
//-- maak loop t/m 10
for ($i == 1; $i <= 10; $i++)
{
//-- toon $i
echo "i: $i<br />";
}
//-- bekijk of var foo is en of foo var is
if ($var == 'foo' && $foo == 'var')
{
//-- zo ja, toon dit
echo "blaat<br />";
}
//-- als de statement false is toon dit
else
{
echo "bleeh<br />";
}
?>
//-- database connectie maken
$dbhost = "localhost";
$dbuser = "username";
$dbpass = "password";
$dbname = "databasename";
//-- haal gegevens op uit db
$sql = "SELECT id FROM tabel_naam WHERE veld = 'foo'";
$res = mysql_query($sql);
//-- kijk of er wat in de database zit
if (mysql_num_rows($res) >= 1)
{
//-- loop door de array met resultaten
while ($row = mysql_fetch_array($res))
{
//-- toon de resultaten
echo "id nummer: $row[id]<br />";
}
}
//-- toon dit wanneer er niets in de array zit
else
echo "Er is geen resultaat";
//-- maak loop t/m 10
for ($i == 1; $i <= 10; $i++)
{
//-- toon $i
echo "i: $i<br />";
}
//-- bekijk of var foo is en of foo var is
if ($var == 'foo' && $foo == 'var')
{
//-- zo ja, toon dit
echo "blaat<br />";
}
//-- als de statement false is toon dit
else
{
echo "bleeh<br />";
}
?>
Het volgende is niet juist. Zoals je ziet, is het overzicht verdwenen.
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
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
<?
//-- database connectie maken
$dbhost = "localhost";
$dbuser = "username";
$dbpass = "password";
$dbname = "databasename";
//-- haal gegevens op uit db
$sql = "SELECT id FROM tabel_naam WHERE veld = 'foo'";
$res = mysql_query($sql);
//-- kijk of er wat in de database zit
if (mysql_num_rows($res) >= 1)
{
//-- loop door de array met resultaten
while ($row = mysql_fetch_array($res))
{
//-- toon de resultaten
echo "id nummer: $row[id]<br />";
}
}
//-- toon dit wanneer er niets in de array zit
else
echo "Er is geen resultaat";
//-- maak loop t/m 10
for ($i == 1; $i <= 10; $i++) {
//-- toon $i
echo "i: $i<br />"; }
//-- bekijk of var foo is en of foo var is
if ($var == 'foo' && $foo == 'var')
{
//-- zo ja, toon dit
echo "blaat<br />";
}
//-- als de statement false is toon dit
else
{
echo "bleeh<br />";
}
?>
//-- database connectie maken
$dbhost = "localhost";
$dbuser = "username";
$dbpass = "password";
$dbname = "databasename";
//-- haal gegevens op uit db
$sql = "SELECT id FROM tabel_naam WHERE veld = 'foo'";
$res = mysql_query($sql);
//-- kijk of er wat in de database zit
if (mysql_num_rows($res) >= 1)
{
//-- loop door de array met resultaten
while ($row = mysql_fetch_array($res))
{
//-- toon de resultaten
echo "id nummer: $row[id]<br />";
}
}
//-- toon dit wanneer er niets in de array zit
else
echo "Er is geen resultaat";
//-- maak loop t/m 10
for ($i == 1; $i <= 10; $i++) {
//-- toon $i
echo "i: $i<br />"; }
//-- bekijk of var foo is en of foo var is
if ($var == 'foo' && $foo == 'var')
{
//-- zo ja, toon dit
echo "blaat<br />";
}
//-- als de statement false is toon dit
else
{
echo "bleeh<br />";
}
?>