Door
Barry Meijer
op 24-01-2011 12:04
gewijzigd op 24-01-2011 15:48
2.520 views
Beste allemaal,
Ik zou graag eens een probleempje (uitdaging) bij jullie neerleggen.
Ik krijg een notice:
Undefined variable: context op Regel: 1788
Op deze regel begint het volgende stukje code:
if (!$spider_match || $context['user']['is_guest'])
is_not_guest();
Nu denk ik dat ik dit kan oplossen met isset. Het probleem echter is dat ik geen PHP held ben die precies weet hoe hij dit kan toepassen binnen dit stukje code.
Een notice is geen error; een notice is ook geen warning.
Vertaal eens dat woord; het betekent iets als "merk op".
Wat php jou probeert te vertellen:
Jij vraagt:
is $context['user']['is_guest'] gelijk aan true?
Nu, als $context niet gedefinieerd is, en dus niet bestaat, bestaat $context['user'] ook niet en $context['user']['is_guest'] zeker niet.
Vergelijk het wat met iemand die vraagt: "Wie is de onderdirecteur van Duff beer?"
Dan denk je: "Duff" bestaat niet eens, dus er is sowieso ook geen directeur. Laat staan dar er een onderdirecteur zou kunnen zijn.