Ik heb in één php-file een sessie nodig, ik wil een CSS gebruiken en halfweg de pagina na wat controles naar een andere pagina springen (met behoud van de sessie).
Ik heb het probleem vereenvoudigd tot zijn essentie:

<?php session_start();?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stijlen.css"/>
</head>
<body>
<?php header("Location: wieisdaar.php?".SID.'"');?>
</body>
</html>

Ik krijg de beruchte fout: Warning: Cannot modify header information - headers already sent by (output started at ...

Wellicht is de oorzaak dat ik HTML start alvorens ik de header("Location aanroep? Ik zie echter niet in hoe ik de drie items (sessie, CSS en header("Location... samen op één pagina krijg zonder dat ze met elkaar gaan vechten.

Wie helpt deze newbie?
Welkom Keun,

Warning: Cannot modify header..........

Zie de FAQ op dit forum.
OK, problem solved (denk ik :) )!
SanThe schreef op 03.04.2007 23:23
Welkom Keun,

Warning: Cannot modify header..........

Zie de FAQ op dit forum.


Waar kan ik die FAQ vinden?
Ik heb in één php-file een sessie nodig, ik wil een CSS gebruiken en halfweg de pagina na wat controles naar een andere pagina springen (met behoud van de sessie).

Dan heb je dus duidelijk geen css (lees: output) nodig. Je gaat tenslotte naar een andere pagina!

Output, html/css/js, maak je pas aan wanneer je klaar bent met alle controles en database-acties. Output is echt het aller, allerlaatste dat je aanmaakt. Ik maak gebruik van Smarty-templates en deze worden letterlijk pas op de allerlaatste regel van mijn scripts naar de browser gestuurd. Haal ik die ene regel weg, dan wordt er dus niets naar de browser gestuurd. 'headers already sent' kan in mijn scripts nooit voorkomen, bestaat gewoon niet.

Reageren