<?php
include $_SERVER['DOCUMENT_ROOT']."/test.php";
header ('location:inloggen.php?actie=invoeren');
?>


Zelfs als ik test.php geen data zet wordt de header niet uitgevoerd, weet iemand waarom dit zo is of hoe dit op te lossen?
Location moet met een hoofdletter aan het begin. Werkt het dan wel?

Vergeet ook niet om je script te stoppen met een 'exit;' na je header()-location.
Bedankt Ariën voor je antwoord maar de header zonder include opdracht er voor werkt prima dus ook met een kleine letter.
Ik vermoed een witregel in je test.php.

Zet je foutafhandeling eens aan.
Cannot modify header information - headers already sent by (output started

Maar zelfs al staat er niets in test.php dan nog komt de foutmelding.

Geprobeerd

<?php
?>

Ook met helemaal niks geprobeerd.

Dus mijn conclusie, geen include opdrachten voor een header, ik zal het script moeten herschrijven.
Als je nu de hele foutmelding geeft....?

Nu laat je juist niet het deel zien waar de output zich in bevindt :-P

Je conclusie is fout: Include kan prima voor een header(). Als er maar géén output in te vinden is, of voor de header staat.
Je heb helemaal gelijkt, op 1 ding na, er stond een spatie na het einde van het aanroepende php script dus na de php afsluiting ?>


Dacht ook dat het er voor moest staan om het niet te laten werken, maar bedankt probleem opgelost. :-)
Voor het gemak kan je de afsluitende ?> ook achterwege laten.
Dat weet dat je dat een spatie aan het einde nooit een probleem kan vormen.

En de error zelf geeft ook aan waar de fout zit:

Warning: Cannot modify header information - headers already sent by (output started at /pad/naar/hetscript.php:12) in /pad/naar/anderscript.php on line 23

De uitvoer bevindt zich in hetscript.php op lijn 12.
Als dat codefragment (include + header) alle code is van een ander bestand is dat sowieso onzinnig. Waarom zet je de inhoud van test.php niet rechtstreeks in dat bestand?

En als dat niet alle code is dan wordt het verdomd lastig om te zeggen waar het nu precies mis gaat.

Dus mijn conclusie, geen include opdrachten voor een header, ik zal het script moeten herschrijven.

Deze conclusie klopt dus niet.

En wat @Ariën zegt, na een header('Location: ...') hoort altijd een exit, want een header('Location: ...') transporteert je niet direct automagisch naar de nieuwe locatie. Het toevoegen of weglaten van een exit kan het verschil betekenen tussen een veilige en een onveilige applicatie.

Reageren