Ik begrijp niet waar dit fout gaat.

Oeps! Sorry!

Ach, toch gevonden.
Het lag aan een extra test-aanroep die ik over het hoofd gezien had.



Paul Ulje op 28/05/2017 20:45:10

p.s. "Tegenwoordig is een 'close' van je database niet nodig."
NetBeans geeft me telkens het advies de php sluittag ?> aan het eind van een script wegens overbodig weg te halen. Het doet mijn Pascalhart pijn....

Wat heeft het sluiten van een database met een PHP-sluittag te maken?

Dat die sluittag wordt afgeraden is waarschijnlijk omdat er dan geen eventuele witruimte komt te staan, maar die sluittag kun je er gewoon prima neerzetten hoor. Ik doe dat zelf ook ... omdat ik het persoonlijk netter vind. Alleen altijd even opletten dat er na de sluittag geen enters / witruimte volgt, want anders komt die witruimte (whitespace) op je pagina terecht.
Ik sluit PHP tegenwoordig niet eens meer af. Volgens mij is het zelfs onderdeel geworden van een standaard.
En ja, die afsluitende ?> tag is soms echt annoying. ZO ben ik pas nog in een project hard op zoek gegaan naar witregels omdat ik een header() niet uitgevoerd kreeg :-/
>> Ik sluit PHP tegenwoordig niet eens meer af. Volgens mij is het zelfs onderdeel geworden van een standaard.

Het zou goed kunnen hoor wat je zegt. Bij een bedrijf waar ik werkte werd het ook nooit afgesloten. Toch vind ik het persoonlijk niet mooi. Je <html> sluit je ook af ... waarom je PHP dan niet? Alleen wel even opletten dus dat er geen witregels onder staan.
Ben ik helemaal met Ozzie eens.
Programmeursesthetiek.

Maar wat gebeurt er als er witregels resteren?
(Ariën heeft het over een headerprobleem.)

Ik heb het gelijk geprobeerd natuurlijk, en hoewel de editor (NetbBeans) ze NIET automagisch weghaalt, lijkt er niks engs te gebeuren (ik heb een ongeijzigde XAmpp installatie)?

Paul Ulje op 29/05/2017 14:35:23

Maar wat gebeurt er als er witregels resteren?


Als je het bestand include en daarna nog een header() gebruikt gaat het fout.
Aha! Dank je - San The -

Dan geldt dat van die witregels zeker ook voor code als:


<?php

session_start();

include_once "otn.inc";

if (!isset($_SESSION['toegangscode']))
    header('Location: otn.php');
?> 

Want dat staat nog op mijn 'zoek uit waarom het niet werkt lijst'.
Ik bedoel de witregels in 'dit' document.

Paul Ulje op 29/05/2017 14:51:14

Geldt dat van die witregels ook voor code als:



==> wel witregels hier

<?php

==> niet als zij tussen php-tags staan.


session_start();

include_once "otn.inc";

if (!isset($_SESSION['toegangscode']))
    header('Location: otn.php');
?> 



als otn.inc een afsluitende ?> bevat en daarna nog een aantal witregels, dan is er output.

De header() van regel 8 kan dan niet meer uitgevoerd worden. (tenzij automagische output buffering aan staat en je niet over die limiet heen gaat)
Dank heren!

Ik snap nu het probleem.

De .inc heeft wel een sluittag maar geen witregels.
En voorheen in een oude versie werkte het ook.
Vermoedelijkhad ik toen (bij stom toeval) geen witregels.

Maar sinds ik NetBeans gebruik niet meer.
Die voegt graag zelf witregels aan de opmaak toe (ook een direct na de openingstag!), zodat ik ook zelf maar met witregels aan het strooien ben gegaan...

Weer een hoofdpijndossier geparacetemolleert. :-)

Je bent je bewust dat .inc bestanden standaard gewoon leesbaar zijn als tekst, als ze in de webroot staan?

Reageren