Parse errors
Het debuggen is meestal iets wat erg irritant kan zijn wanneer je al uren met het script bezig bent. Alles lijkt op elkaar en op het laatst weet je geen raad meer.
Om het debug probleem op te lossen, raad ik je ten zeerste een PHP editor aan, waarbij de lijn nummers worden aangegeven! Met PHP is het namelijk zo dat wanneer je ergens een fout hebt staan, de regel nummer meestal ook wordt meegegeven. Vandaar dat dit erg handig is.
Wanneer je een foutmelding krijgt zal dit in de meeste gevallen een parse error zijn. Dit houdt in dat het vrijwel altijd ligt aan een ; vergeten, een akkolade ({ of }) vergeten af te sluiten of bijvoorbeeld een ) of ( te weinig bij een statement. Kijk hier eerst goed na voordat je vragen gaat stellen!
Het volgende zal een parse error geven. Ten eerste omdat achter 'is_numeric($foo)' een ) is vergeten. En ten tweede omdat bij 'Toon dit anders' een puntkomma (;) is vergeten.
2
3
4
5
6
7
8
9
10
11
//-- vergelijk
if ($var == 'foo' && is_numeric($foo)
{
//-- toon dit wanneer de vergelijking goed is
echo "Toon dit";
}
//-- is de vergelijking niet goed, toon dit
else
echo "Toon dit anders"
?>
Het volgende zou dus wel goed zijn:
2
3
4
5
6
7
8
9
10
11
//-- vergelijk
if ($var == 'foo' && is_numeric($foo))
{
//-- toon dit wanneer de vergelijking goed is
echo "Toon dit";
}
//-- is de vergelijking niet goed, toon dit
else
echo "Toon dit anders";
?>
Misschien is het een beetje verwarrend, maar bij de 'else' zijn de akkolades er niet. Dit is omdat er maar 1 regel hoeft worden getoond. In dat geval hoef je geen akkolades te gebruiken en kun je het dus gewoon doen zoals te zien is bij het voorbeeld. Als onder 'echo "Toon dit anders";' nog een regel staat, wordt deze sowieso laten zien omdat dat BUITEN de else valt. Goed onthouden, alleen met 1 regel onder een if of else kun je de akkolades weglaten.