Tutorials
Het begrijpen van errors
Foutafhandeling / error reporting leren weergeven en lezen. Hier kun je zelf toevoegen!
Pagina 1
Het begrijpen van errors (PHP)
Errors zijn vervelend, maar duiden er op dat iets niet goed werkt of fout wordt gedaan. Daarom geeft PHP altijd een beschrijving van de error mee. Voor het begrijpen is natuurlijk lezen heel belangerijk!
Voor de verdere uitleg ga ik gebruik maken over het algemeen van het volgende stukje code. Ik geef de code welke een foutmelding geeft, je kunt kijken of je ziet wat er mist/fout is, en dan nagaan of je het goed had.
<?php
$boolean = true;
if ($boolean) {
echo '$boolean is set to true';
}
?>
Als je toevoegingen hebt, PM maar. Ook spelfouten graag een PM '-.-
Voor de verdere uitleg ga ik gebruik maken over het algemeen van het volgende stukje code. Ik geef de code welke een foutmelding geeft, je kunt kijken of je ziet wat er mist/fout is, en dan nagaan of je het goed had.
<?php
$boolean = true;
if ($boolean) {
echo '$boolean is set to true';
}
?>
Als je toevoegingen hebt, PM maar. Ook spelfouten graag een PM '-.-
Pagina 2
Error 1: Unexpected T_IF
e krijgen deze error:
Met deze code:
<?php
$boolean = true
if ($boolean) {
echo '$boolean is set to true';
}
?>
Unexpected T_IF betekend dat onverwacht een if statement wordt gemaakt. Er staat dat dit op regel 3 gebeurt. Bij het oplossen van een error, kijk ik zelf altijd naar de regel voor en na de regel in de melding. Ik dit geval 2 tot 4.
PHP verwacht dat lijnen code worden afgesloten door een ;. Daarom onstaat vaak een 'unexpected'-error. Dit is hier ook het geval, de ; na true mist.
Parse error: syntax error, unexpected T_IF in /path/to/file.php on line 3Met deze code:
<?php
$boolean = true
if ($boolean) {
echo '$boolean is set to true';
}
?>
Unexpected T_IF betekend dat onverwacht een if statement wordt gemaakt. Er staat dat dit op regel 3 gebeurt. Bij het oplossen van een error, kijk ik zelf altijd naar de regel voor en na de regel in de melding. Ik dit geval 2 tot 4.
PHP verwacht dat lijnen code worden afgesloten door een ;. Daarom onstaat vaak een 'unexpected'-error. Dit is hier ook het geval, de ; na true mist.
Pagina 3
Error 2: Unexpected T_ECHO
We krijgen deze error:
Met deze code:
<?php
$boolean = true;
if ($boolean {
echo '$boolean is set to true';
}
?>
Hier zien we weer dat onverwacht wat word geëchoed, PHP verwacht andere code. Op regel 3 is het dus mis, een ) is vergeten.
Parse error: syntax error, unexpected T_ECHO in /path/to/file.php on line 4Met deze code:
<?php
$boolean = true;
if ($boolean {
echo '$boolean is set to true';
}
?>
Hier zien we weer dat onverwacht wat word geëchoed, PHP verwacht andere code. Op regel 3 is het dus mis, een ) is vergeten.
Pagina 4
Error 3: Unexpected $end
Met deze code:
<?php
$boolean = true;
if ($boolean) {
echo '$boolean is set to true';
?>
Dit is af ben toe een lastige error om te vinden waar ie zit, PHP geeft namelijk het regel nummer van de laatste regel in de file. Ook deze error is niet al te duidelijk - tenminste, dat vond ik in het begin. Het betekend dat een statement van een if, for, foreach, swith, etc. niet goed is afgesloten, dus een } vermist. Het makkelijkste om deze error te voorkomen is, hoe veel tijd het ook kost, je code netjes inspringen, altijd de zelfde opmaak voor je code gebruiken! Je kunt voor het vinden van deze fout misschien Crimson Editor gebruiken.
<?php
$boolean = true;
if ($boolean) {
echo '$boolean is set to true';
?>
Dit is af ben toe een lastige error om te vinden waar ie zit, PHP geeft namelijk het regel nummer van de laatste regel in de file. Ook deze error is niet al te duidelijk - tenminste, dat vond ik in het begin. Het betekend dat een statement van een if, for, foreach, swith, etc. niet goed is afgesloten, dus een } vermist. Het makkelijkste om deze error te voorkomen is, hoe veel tijd het ook kost, je code netjes inspringen, altijd de zelfde opmaak voor je code gebruiken! Je kunt voor het vinden van deze fout misschien Crimson Editor gebruiken.
Pagina 5
Error 4: Unexpected T_STRING, expecting ',' or ';'
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /path/to/file.php on line 4<?php
$boolean = true;
if ($boolean) {
echo $boolean is set to true';
}
?>
Dit spreekt denk ik inmiddels voor zich, een ' vermist bij de echo. Voor dit soort dingen is een editor met kleurtjes gewoon heel handig.
Omdat ik niet meer pagina's kan toevoegen * zucht *
Enkele fouten met hun oplossing:
Undefined variable
Een variabel dat je probeert te gebruiken heb je nog geen waarde aan gekoppeld.
Undefined function
Een functie bestaat niet terwijl je hem wel aanroept.
Header already sent
Dit betekend dat de headers van de file (die de browser wil ontvangen voor het kijken van de pagina) al zijn verzonden en dat er dus niets meer aan veranderd kan worden. Dit is vaak het probleem met session_start() ed., dit is makkelijk op te lossen door dit voor alle directe output naar de browser, dit betekend dus een echo, plain HTML, maar ook een enter voor de PHP-tag!!! let hier op
Reacties
0