Ik kan de fout echt niet vinden!
Heb je error_reporting op E_ALL staan? Nee? Meteen doen! Deze directive / functie op E_ALL zetten zorgt er namelijk voor dat je veel meer bruikbare debug-informatie krijgt. PHP is namelijk van zichzelf heel erg tolerant met bepaalde constructies, terwijl ze eigenlijk niet helemaal netjes zijn of al min of meer verboden zijn maar nog toegelaten worden wegens backward compatibility.
Als je zgn. notices ook toelaat in je error_reporting krijg je o.a. informatie over
* Het gebruik van niet-bestaande variabelen of elementen uit een array
Om te controleren of een bepaalde variabele of element bestaat gebruik je de functie isset().
Vooral zinvol bij tikfouten en controleren op malafide input
* Het gebruik van ongequote strings als array-indices
Ongequote strings worden enkel nog toegelaten bij wijze van backward compatibility. In principe is dit uit de taal geschrapt vanwege mogelijke conflicten met constanten gedefinieerd met define()
De manual zelf omschrijft het als volgt:
Notices are not printed by default, and indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. For example, trying to access the value of a variable which has not been set, or calling stat() on a file that doesn't exist.
Schrik dus niet als je je error_reporting ook op E_ALL hebt staan
Inhoudsopgave
- HELP! Mijn POST en GET forms werken niet (meer)
- ... is not a valid MySQL resource index
- Mijn sessie-variabelen worden niet opgeslagen
- Mijn file-upload form werkt niet.
- Ik heb een multiple select of meerdere checkboxes,
- Escape problemen met PHP i.c.m. databases
- multiviews
- Mod_rewrite
- Hoe werkt dat GROUP BY nu eigenlijk?
- Bij een javascript-submit of drukken op enter word
- Spaties van een <input ... value=...> worden niet
- Help! die aggregate functies
- wordt nog toegevoegt
- Ik kan de fout echt niet vinden!