header information

  • Beste leden,


    Ik ben bezig met een captcha enkel stuit ik op fouten.


    De error's zijn:

    PHP
    Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/naddo.nl/public_html/templates/default/captcha_img.php:4) in /home/admin/domains/naddo.nl/public_html/templates/default/captcha.class.php on line 84
    
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/naddo.nl/public_html/templates/default/captcha_img.php:4) in /home/admin/domains/naddo.nl/public_html/templates/default/captcha.class.php on line 85


    Op lijn 4 is te vinden:

    PHP
    $captcha = & new captchaClass();


    Op lijn 84 & 85 zijn te vinden:

    PHP
    header("Content-type: image/png");
                header('Content-Disposition: inline; filename=captcha.png');


    Ik hoop dat jullie er met mij uit kunnen vinden, want heb niks kunnen vinden op Google.


    Alvast bedankt.

  • Headers moeten voor de output ;)


    Staat duidelijk vermeld @ Google :P


    Headers geven informatie aan de browser. Zoals type bestand. Of weet ik veel. Je kan niet HTML output doen en in het midden daarvan zeggen hee, maar dit wordt een .zip. Dan raakt de browser in de war. Headers bevatten informatie over de pagina. Die moeten dus altijd verstuurd en ontvangen worden voor de pagina zelf.

  • Je was me voor, ik heb overigens dit wel eens met een header redirect gehad die ergens stond.
    Heel raar, soms werkt het op de een of andere manier niet, probeer die eens te verwijderen en probeer het dan eens opnieuw.
    Wellicht dat dat ook één van de redenen kan zijn.

  • De headers staan in een include bestand, die boven aan de pagina staat waar het bestand tevens nodig is.


    Voor die include is er dan waarschijnlijk al output geweest. Mogelijk zelfs een spatie. Of in de include.


    Hoe dan ook, ERGENS is er output. Waar moet je zoeken.


    Dit is ook de reden waarom ik met mijn framework (die in ontwikkeling is) ook eerst alles bereken en doe en dan pas output doe. (MVC verhaal, dus dat je een view pas aanroept zodra de controller klaar is). Dit voorkomt zulke problemen.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!