Warning: Cannot modify header information - headers already sent by
Ik ben bezig met een website maar ik wil graag voor de bezoeker een 'skin switcher' maken zodat hij de layout kan veranderen.
Maar nu krijg ik de volgende fout:
Warning: Cannot modify header information - headers already sent by (output started at jaa/document/engels/index.php:8)
in jaa/document/engels/coockies.php on line 4
En ik snap zelf echt niet waar het aan zou kunnen liggen, ik heb vanalles al geprobeerd maar ik kom er echt niet uit.
Dit is de code van coockies.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
if (!isset($coookie)) { $coookie = 'purple'; };
if (isset($skin_selector)) {
setcookie ('coookie', $skin,time()+3600);
if (isset($page)) {
echo('<body onload=\'top.location=\'index.php?page=$page\';\'>');
}
else {
echo('<body onload=\'top.location=\'index.php\';\'>');
}}
switch ($coookie) {
case 'blue';
$stylesheet = '<link href=\'skin01.css\' rel=\'stylesheet\' type=\'text/css\'>';
break;
case 'purple';
$stylesheet = '<link href=\'skin02.css\' rel=\'stylesheet\' type=\'text/css\'>';
break;
};
?>
if (!isset($coookie)) { $coookie = 'purple'; };
if (isset($skin_selector)) {
setcookie ('coookie', $skin,time()+3600);
if (isset($page)) {
echo('<body onload=\'top.location=\'index.php?page=$page\';\'>');
}
else {
echo('<body onload=\'top.location=\'index.php\';\'>');
}}
switch ($coookie) {
case 'blue';
$stylesheet = '<link href=\'skin01.css\' rel=\'stylesheet\' type=\'text/css\'>';
break;
case 'purple';
$stylesheet = '<link href=\'skin02.css\' rel=\'stylesheet\' type=\'text/css\'>';
break;
};
?>
Gewijzigd op 01/01/1970 01:00:00 door Thijmen Duim
Wat staat er op regel 4 en 8?
setcookie ('coookie', $skin,time()+3600);
Regel 8:
else {
Volgens mij heeft het met de coockie te maken?
En voor deze regels heb je nog nergens anders iets van output aangemaakt? Ook geen spaties e.d.
Ik heb echt vanalles geprobeerd, maar ik kom er maar niet uit
Hierdoor kun je onmogelijk in cookie.php op regel 4 een cookie gaan aanmaken, de headers zijn op regel 8 van index.php al verstuurd. Een cookie moet je namelijk aanmaken vóór de headers (output).
Even afgezien van eventuele fouten in de code, heb ik gemerkt dat de manier waarop bepaalde editors de code opslaan vaak leiden tot deze foutmelding.
Je zoekt je dan rot naar fouten in de code, maar die zijn er niet (of liever gezegd, die zie je niet).
Vaak komt dit voor als je ergens een stukje voorbeeldcode vandaan haalt en (geheel of gedeeltelijk en/of al dan niet gewijzigd) gebruikt.
Een oplossing die voor mij (het snelste) werkt:
1. Open de vermelde code in KLadblok.
2. Selecteer en kopiëer de code.
3. Plak de code in MS-Word.
4. Selecteer de geplakte code en kopiëer opnieuw.
5. Plak de code in Kladblok.
6. Sla de code op.
Ik ben benieuwd of dit principe ook bij jullie werkt.
edit: gelieve niet meer van dit soort oude topics op te 'bumpen'. Waarschijnlijk is het probleem al opgelost en hebben de mensen in de huidige topics links in het lijstje nog geen antwoord gevonden. Als er dan oude topics omhoogkomen, dan worden die mensen niet geholpen.
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
Kladblok en Word om PHP-code te schrijven? Ik moet direct denken aan het woord 'amateur'...
Onderwerp staat trouwens ook in de FAQ (menu hierboven, "Informatie" -> "FAQ").
en Frank, gefeliciteerd met je binaire aantal posts (21 posts decimaal) :P
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
pgFrank schreef op 06.03.2008 11:36:
Kladblok en Word om PHP-code te schrijven? Ik moet direct denken aan het woord 'amateur'...
Tja, we kunnen niet allemaal van die professionals, zoals jij bent, zijn. Bovendien wist ik niet dat het op dit forum ''verboden toegang'' was voor amateurs!
Wim Sanders schreef op 06.03.2008 14:32:
Tja, we kunnen niet allemaal van die professionals, zoals jij bent, zijn. Bovendien wist ik niet dat het op dit forum ''verboden toegang'' was voor amateurs!
pgFrank schreef op 06.03.2008 11:36:
Kladblok en Word om PHP-code te schrijven? Ik moet direct denken aan het woord 'amateur'...
Tja, we kunnen niet allemaal van die professionals, zoals jij bent, zijn. Bovendien wist ik niet dat het op dit forum ''verboden toegang'' was voor amateurs!
Laat ik dat even corrigeren :
pgFrank schreef op 06.03.2008 11:36:
Kladblok en Word om PHP-code te schrijven? Ik moet direct denken aan het woord 'beginner'...
En daar zijn we voor maar kijk eens naar een alternatief zoals :
Gratis :
Notepad++
Aptana
Crimson Editor
Betaald:
Dreamweaver
Zend Studio
Maar, daar gaat het hier niet om. Ten eerste:
Kasper schreef op 06.03.2008 13:22:
Of die-hard, in het geval van kladblok :)
Onderwerp staat trouwens ook in de FAQ (menu hierboven, "Informatie" -> "FAQ").
Onderwerp staat trouwens ook in de FAQ (menu hierboven, "Informatie" -> "FAQ").
Prima, maar daar kan ik niets over dit onderwerp vinden.
Ten tweede:
Het onderwerp was niet ''afgesloten'' met een conclusie, zodat ik dacht dat er wellicht nog mensen waren die nog behoefte hadden aan een mogelijke oplossing.
Gewijzigd op 01/01/1970 01:00:00 door Wim Sanders
Dus op regel 8 in index.php wordt data naar de browser gestuurd.