Hallo,

Ik ben bezig met een scriptje voor mijn site en ben er achtergekomen je een get-variable invult die niet bestaat niets verschijnt. Dt wil ik voorkomen. Ik heb gepuzzeld met

if (file_exists($_GET['page']))
include($_GET['page']);

Heb ik al gelezen, maar ik heb geen idee waar er eerder een output kan zijn :S

@Mike [url.][/url.] wel puntje weghalen
Probleem omzeilt door

ob_start();
...
ob_end_flush();

Slordig, maar enigste oplossing.
AstroVersum schreef op 23.03.2008 11:39
Slordig, maar enigste oplossing.
Zeer slordig en zeker niet de enigste oplossing! Als jij zorgt dat je scripts goed opgebouwd zijn, dus beginnend met de business logica (php) en afsluiten met de presentatie/output (html), kom je dit soort problemen nooit tegen...
Weet jij dan waar ik moet zoeken in het script van erwin?

(Was voor mij enigste oplossing)
Headers already sent-probleem valt op te lossen door alle output voorgaande aan de header() weg te halen. Ob_start() is inderdaad een oplossing, maar is niet netjes.
In het script van erwin vindt verder geen output plaats, daar hoef je het dus niet te zoeken.

Daarentegen is het leuke van de 'headers already sent' foutmelding dat deze precies aangeeft waar de output plaats heeft gevonden ('output already started at'), dus je weet al precies waar je moet kijken...
Yep, er stond line 1.. waar <?php staat, dus daarom kwam ik niet verder.

Ik heb het ondertussen helemaal veranderd en het werkt :) zonder Ob_start

Reageren