Ik heb op mijn domein een index.php met de volgende code:


<?php 
session_start();
?>
<html>
<head>
<title>Title</title>
</head>

<body>
<img src="offline.jpg" width="1024" height="768" />
</body>
</html>



Nu krijg ik een foutmelding:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/bdenhollan/domains/bdenhollander.nl/public_html/index.php:1) in /home/bdenhollan/domains/bdenhollander.nl/public_html/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/bdenhollan/domains/bdenhollander.nl/public_html/index.php:1) in /home/bdenhollan/domains/bdenhollander.nl/public_html/index.php on line 2

Ik heb contact gehad met de provider, die heeft mij het volgende antwoord gegeven waarom het fout gaat:

"dit komt doordat je een Header instelling probeert te zetten terwijl al een pagina is weergegeven
je mag nadat je en hebt gedaan niet nogmaals iets met sessies en headers en cookies doen
dus de volgorde in de bestanden is fout"

Kan iemand mij verklaren waarom dit niet goed gaat?
Ik heb de phpinfo() bekeken, maar daar kan ik geen fouten ontdekken...


ttp://phphulp.nl/php/faq/#2
Je hebt output voordat je session_start() aanroept, dat mag niet.
Kijk eens of je voor de [ignore]<?php[/ignore] een spatie o.i.d. hebt staan.
Dat betekent dat er vóór de php openings-tag al output staat. Dat kan ook een spatie of een tab zijn.
TJVB schreef op 20.02.2009 12:00
ttp://phphulp.nl/php/faq/#2
Je hebt output voordat je session_start() aanroept, dat mag niet.


Wat is die output dan?
Ik heb alleen een <?php tag staan...
Martijn Versluis schreef op 20.02.2009 12:02
Dat kan ook een spatie of een tab zijn.
Of je hebt te maken met de UTF 8 bom.
Martijn Versluis schreef op 20.02.2009 12:04
[quote='Martijn Versluis schreef op 20.02.2009 12:02']Dat kan ook een spatie of een tab zijn.
[/quote]

Dit is de oplossing:
Wanneer je de error krijgt en werkelijk niets voor de functie hebt staan, dan kan dit liggen aan de encoding van je bestand. Copy/paste je code in kladblok (notepad), sla het bestand op en upload het. Wat je ook kan doen is in je texteditor bij encoding (conversion in ultraedit waar dit zich wel eens voordoet) UTF-8 to ASCI te kiezen. Hiermee los je het probleem ook op.

Raar dat Dreamweaver (toch een pakket van een euro of 300) hier niet goed mee omgaat.

Edit:

Heb even gezocht of ik dit in Dreamweaver zo kan instellen, maar ik kan het zo gauw niet vinden. Iemand enig idee?

Reageren