Hoi,
Ik ben bezig aan een eigen inlogscript.
Omdat ik links en rechts wat sites bouw, wil ik het script in zoveel mogelijk verschillende omgevingen implementeren, zonder al te veel aanpassingen te moeten maken. Ik werk dan ook vaak met includes; zo hou ik de pagina's allemaal lekker uniform.
Nu zit ik hiermee:
1. Ik heb mijn pagina index.php als malletje. Via ?pagina=naam haal ik de verschillende aparte pagina's (met eigenlijke inhoud op).
2. Sommige van die pagina's zijn beveiligd en verifiëren het bestaan van de sessievariabele $_SESSION['rechten']. Bestaat die, ben je binnen.
3. Bestaat die echter niet, dan word je via header("location: index.php?pagina=login"); naar het loginformulier gestuurd.
Het probleem is dat die index.php al lappen code en opmaak bevat, en de headers bijgevolg al lang doorgestuurd worden. Dan krijg je dus die 'Headers already sent'-melding.
Inderdaad, met output buffering los je dat erg gemakkelijk op. Ik vroeg me echter af of het gebruik hiervan in deze context gerectvaardigd is.
Wat denken jullie?
Ik ben bezig aan een eigen inlogscript.
Omdat ik links en rechts wat sites bouw, wil ik het script in zoveel mogelijk verschillende omgevingen implementeren, zonder al te veel aanpassingen te moeten maken. Ik werk dan ook vaak met includes; zo hou ik de pagina's allemaal lekker uniform.
Nu zit ik hiermee:
1. Ik heb mijn pagina index.php als malletje. Via ?pagina=naam haal ik de verschillende aparte pagina's (met eigenlijke inhoud op).
2. Sommige van die pagina's zijn beveiligd en verifiëren het bestaan van de sessievariabele $_SESSION['rechten']. Bestaat die, ben je binnen.
3. Bestaat die echter niet, dan word je via header("location: index.php?pagina=login"); naar het loginformulier gestuurd.
Het probleem is dat die index.php al lappen code en opmaak bevat, en de headers bijgevolg al lang doorgestuurd worden. Dan krijg je dus die 'Headers already sent'-melding.
Inderdaad, met output buffering los je dat erg gemakkelijk op. Ik vroeg me echter af of het gebruik hiervan in deze context gerectvaardigd is.
Wat denken jullie?