Fouten en oplossen
Meest voorkomende foutmeldingen en hoe los je ze op:
Quote:
Parse errors:
In het geval van parse errors klopt er vaak iets niet aan de syntax van je PHP script. Laten we eens naar een voorbeeld kijken:
Dit script geeft de volgende foutmelding:
Parse error: syntax error, unexpected T_ECHO in /pad/naar/bestand.php on line 6
De foutmelding geeft vrij veel informatie over de fout die opgetreden is.
Het betreft een parse error en wel door een fout in de syntax. PHP verwacht de echo op regel 6 om een of andere reden niet.
En dat klopt ook wel, in het script is vergeten om regel 5 netjes met een ; af te sluiten.
In het geval van parse errors klopt er vaak iets niet aan de syntax van je PHP script. Laten we eens naar een voorbeeld kijken:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 'On'); // error reporting aan
error_reporting(E_ALL);
$sNaam = 'Kees'
echo $sNaam;
?>
ini_set('display_errors', 'On'); // error reporting aan
error_reporting(E_ALL);
$sNaam = 'Kees'
echo $sNaam;
?>
Dit script geeft de volgende foutmelding:
Parse error: syntax error, unexpected T_ECHO in /pad/naar/bestand.php on line 6
De foutmelding geeft vrij veel informatie over de fout die opgetreden is.
Het betreft een parse error en wel door een fout in de syntax. PHP verwacht de echo op regel 6 om een of andere reden niet.
En dat klopt ook wel, in het script is vergeten om regel 5 netjes met een ; af te sluiten.
Quote:
Unexpected $end
Deze foutmelding betekent dat er een onverwacht einde is
Wat vaak betekent dat je ergens een } bent vergeten
Foutmelding: Parse error: syntax error, unexpected $end in /pad/naar/bestand.php on line 8
Dit kun je oplossen door simpelweg een } na de echo $_GET['naam']; te zetten
Deze foutmelding betekent dat er een onverwacht einde is
Wat vaak betekent dat je ergens een } bent vergeten
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
if(isset($_GET['naam']))
{
echo $_GET['naam'];
?>
ini_set('display_errors', 'On');
error_reporting(E_ALL);
if(isset($_GET['naam']))
{
echo $_GET['naam'];
?>
Foutmelding: Parse error: syntax error, unexpected $end in /pad/naar/bestand.php on line 8
Dit kun je oplossen door simpelweg een } na de echo $_GET['naam']; te zetten
Quote:
Undefined variable
Deze error betekent dat er ergens in het script een variabele is die niet bestaat
zoals hier:
Notice: Undefined variable: variable in /pad/naar/bestand.php on line 5
dit kun je oplossen door de variabel aantemaken:
$variable = 'geef hem een waarde';
Deze error betekent dat er ergens in het script een variabele is die niet bestaat
zoals hier:
Notice: Undefined variable: variable in /pad/naar/bestand.php on line 5
dit kun je oplossen door de variabel aantemaken:
$variable = 'geef hem een waarde';
Quote:
warnings
dit zijn fouten in het script alleen geen fatale fouten dus het script word niet gestopt
foutmelding:
Warning: include(bestaat_niet.php) [function.include]: failed to open stream: No such file or directory in /pad/naar/bestand.php on line 5
Warning: include() [function.include]: Failed opening 'bestaat_niet.php' for inclusion (include_path='.:') in /pad/naar/bestand.php on line 5
dit komt omdat het bestand wat je include niet bestaat
dit zijn fouten in het script alleen geen fatale fouten dus het script word niet gestopt
foutmelding:
Warning: include(bestaat_niet.php) [function.include]: failed to open stream: No such file or directory in /pad/naar/bestand.php on line 5
Warning: include() [function.include]: Failed opening 'bestaat_niet.php' for inclusion (include_path='.:') in /pad/naar/bestand.php on line 5
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
include 'bestaat_niet.php';
?>
ini_set('display_errors', 'On');
error_reporting(E_ALL);
include 'bestaat_niet.php';
?>
dit komt omdat het bestand wat je include niet bestaat
Quote:
Headers already sent :
Een lastige bug zeker voor beginners
dit komt omdat een kleine spatie al voor problemen kan zorgen
Zorg daarom dat je goed oplet
voorbeeld:
Warning: Cannot modify header information - headers already sent by (output started at /pad/naar/bestand.php:5) in /pad/naar/bestand.php on line 6
Bij deze error komt het omdat er een echo voor de header staat dus moeten we de echo en de header omdraaien
Headers already sent :
Een lastige bug zeker voor beginners
dit komt omdat een kleine spatie al voor problemen kan zorgen
Zorg daarom dat je goed oplet
voorbeeld:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
echo 'Hello World!';
header('Refresh: 3; url=index.php');
?>
ini_set('display_errors', 'On');
error_reporting(E_ALL);
echo 'Hello World!';
header('Refresh: 3; url=index.php');
?>
Warning: Cannot modify header information - headers already sent by (output started at /pad/naar/bestand.php:5) in /pad/naar/bestand.php on line 6
Bij deze error komt het omdat er een echo voor de header staat dus moeten we de echo en de header omdraaien
« vorige pagina | volgende pagina »