header already sent

Status
Niet open voor verdere reacties.

ecross

Gebruiker
Lid geworden
4 mrt 2009
Berichten
638
ik heb een webpagina gemaakt:
knip
het is een beveiligings script (ik weet het, het is niet veilig maar goed genoeg voor mij)
als je op een beveiligde pagina komt en je bent al ingelogd mag je de pagina bekijken anders word je door gestuurd naar de inlog pagina door middel van:

PHP:
php header("Location: login.php");
exit;
de hele code kun je zien op de site gewoon even bron bekijken.
(ik weet niet of de exit; belangrijk is maar ik heb het er maar bijgezet.)

nu het probleem: als je op de beveiligde pagina komt en je bent ingelogd komt er te staan:
headers already sent
wat kan ik hier tegen doen?
 
Laatst bewerkt:
heel toevallig las ik vandaag een artikeltje over het gebruik van "header: location": niet doen!
Enkel niet doen als je niet weet waar je mee bezig bent... in dit geval staat er direct na de header een exit.
Dus zelfs als de crawler/bot je redirect negeert, dan nog wordt de exit uitgevoerd en wordt er een lege pagina opgestuurd naar de bot..
Bovendien is het altijd een slecht idee om het verwijderen van records via GET mogelijk te maken..
 
Enkel niet doen als je niet weet waar je mee bezig bent... in dit geval staat er direct na de header een exit.
Dus zelfs als de crawler/bot je redirect negeert, dan nog wordt de exit uitgevoerd en wordt er een lege pagina opgestuurd naar de bot..
Bovendien is het altijd een slecht idee om het verwijderen van records via GET mogelijk te maken..

Yeah
:cool:
 
kijk:

niets laten printen voordat je de header stuurt! desnoods de header aan het begin van je script zetten, dan zal hij werken

de foutmelding komt doordat er al data is verzonden naar de pagina voordat de header verzonden is door het script. daarom: eerst header() gebruiken, dan data printen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan