Header Probleem
Hallo.
Ben sinds kort met PHP bezig.
Heb al een compleet script voor mijn website geschreven maar heb nog 1 probleem waar ik zelf niet de oplossing voor kan vinden.
Cannot modify header information - headers already sent by (output started at /home/****/layout/header.php:17) in /home/***/includes.php on line 233
Het vreemde is dus dat regel 17 in mijn header.php is:
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
Heb al gecontroleerd op witte ruimtes, alle pagina's zijn in orde.
Ik wil niet ob_start() gebruiken maar het probleem zelf oplossen.
Iemand enige tips?
Ben sinds kort met PHP bezig.
Heb al een compleet script voor mijn website geschreven maar heb nog 1 probleem waar ik zelf niet de oplossing voor kan vinden.
Cannot modify header information - headers already sent by (output started at /home/****/layout/header.php:17) in /home/***/includes.php on line 233
Het vreemde is dus dat regel 17 in mijn header.php is:
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
Heb al gecontroleerd op witte ruimtes, alle pagina's zijn in orde.
Ik wil niet ob_start() gebruiken maar het probleem zelf oplossen.
Iemand enige tips?
Gewijzigd op 18/03/2011 01:09:44 door Alex L
Cannot modify header information - headers already sent by (output started at
header
Moet meer dan genoeg informatie zijn.
header
Moet meer dan genoeg informatie zijn.
Headers kunnen slechts 1x worden verzonden, zou je toch op de eerste regel van je php bestand willen plaatsen en dan kijken of je probleem is opgelost?
er is mogelijk wel een andere oplossing maar dat is niet altijd het geval...
Als niet opgelost wil ik je vragen om je source code te gaan posten want dan wil ik er best even naar kijken en misschien zijn er wel meer hier die je erbij willen proberen te helpen..
Succes!
er is mogelijk wel een andere oplossing maar dat is niet altijd het geval...
Als niet opgelost wil ik je vragen om je source code te gaan posten want dan wil ik er best even naar kijken en misschien zijn er wel meer hier die je erbij willen proberen te helpen..
Succes!
Gewijzigd op 18/03/2011 01:30:07 door Willem Vyent
Heb google al geraadpleegt, zover werkt geen enkele oplossing die op de eerste 12 pagina's stonden.
En ik wil zowiezo geen ob_start() gaan gebruiken.
En ik wil zowiezo geen ob_start() gaan gebruiken.
Gewijzigd op 18/03/2011 01:28:55 door Alex L
Er wordt al iets verstuurd naar je browser voordat je je header aanroept. Dat moet je weten te achterhalen. Wat doe je in includes.php op regel 233?
ok, geen ob_start(), de fout zit vermoedelijk in line 17 of in eerdere regels, zou je het bestand kunnen posten, dan kunnen we ernaar even kijken...
Gewijzigd op 18/03/2011 01:40:38 door Willem Vyent
Regel 233:
} else { session_unset(); session_destroy(); header('location: index.php'); }
En header.php tot regel 18
<html>
<head>
<title>Hoi</title>
<link rel="stylesheet" type="text/css" href="layout/style.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#000000" alink="#000080" vlink="#000000" topmargin="0" leftmargin="0">
<div align="center">
<!-- Main Logo -->
<table width="661" cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff">
<tr bgcolor="#FFFFFF">
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
} else { session_unset(); session_destroy(); header('location: index.php'); }
En header.php tot regel 18
<html>
<head>
<title>Hoi</title>
<link rel="stylesheet" type="text/css" href="layout/style.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#000000" alink="#000080" vlink="#000000" topmargin="0" leftmargin="0">
<div align="center">
<!-- Main Logo -->
<table width="661" cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff">
<tr bgcolor="#FFFFFF">
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
Is het een timed event, zoals inactive->header('Location: index.php')? Ik zou proberen om de header tag naar boven in je code proberen te plaatsen.
Nee, het rare is, bij een pagina zonder de layout werkt ie dus wel, alleen zodra hij de header.php erbij moet laden (layout dus) werkt ie niet meer.
Wordt er een beetje gek van :P
Wordt er een beetje gek van :P
Ja dat begrijp ik. Deze error is irritant!
Heb je dit geprobeerd om bovenaan de pagina te zetten?
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting (E_ALL);
Haal van de betreffende paginas de ?> tag weg... Dan kan je sowieso geen whitespace hebben.
Heb je dit geprobeerd om bovenaan de pagina te zetten?
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
error_reporting (E_ALL);
Haal van de betreffende paginas de ?> tag weg... Dan kan je sowieso geen whitespace hebben.
Heb al een uitgebreide Error reporting toegevoegt, als ik deze aanzet blijft er geen enkele error/warning over maar dan werkt de header nog steeds niet dus dat helpt ook niet echt.
En dat laatste werkt helaas ook niet.
En dat laatste werkt helaas ook niet.
Geen white space in de pagina, ook niet voor of na dan kan het formaat waarin het is opgeslagen het probleem ook veroorzaken.
Zou je de php file kunnen openen, met je favoriete tekst editor en vervolgens de inhoud in kladblok te plakken en als ANSI formaat op te slaan als .php bestand, geef het gewoon de oorspronkelijke naam en test of het werkt..
Zou je de php file kunnen openen, met je favoriete tekst editor en vervolgens de inhoud in kladblok te plakken en als ANSI formaat op te slaan als .php bestand, geef het gewoon de oorspronkelijke naam en test of het werkt..
Al gedaan, geen resultaat.
Heb zowat alles gehad denk ik -_-'
Heb zowat alles gehad denk ik -_-'
Elke pagina stuurt headers(HTTP request) naar de browser. Hierin staat de belangrijke infomatie over die pagina. Met de PHP functie header kun je daar nog een header toevoegen of aanpassen. Zo'n header wordt gestuurd voordat er output op het beeldscherm komt. Als je dus eerst iets echoëd of HTML schrijft dan is er al output op het scherm en kan je niet nog eens een header sturen.
Je moet het voorstellen als een trein, de mensen zijn de headers en als de trein eenmaal vertrokken is kan daar niet nog een header bij. Want die is immers al verzonden. Daarom die header already sent (header is al verzonden) error.
Haal dus alle output boven de header functie weg. Sowieso is het handig om alle PHP verwerking boven het doctype te laten gebeuren.
Je moet het voorstellen als een trein, de mensen zijn de headers en als de trein eenmaal vertrokken is kan daar niet nog een header bij. Want die is immers al verzonden. Daarom die header already sent (header is al verzonden) error.
Haal dus alle output boven de header functie weg. Sowieso is het handig om alle PHP verwerking boven het doctype te laten gebeuren.
Wouter J op 18/03/2011 07:48:23:
Elke pagina stuurt headers(HTTP request) naar de browser. Hierin staat de belangrijke infomatie over die pagina. Met de PHP functie header kun je daar nog een header toevoegen of aanpassen. Zo'n header wordt gestuurd voordat er output op het beeldscherm komt. Als je dus eerst iets echoëd of HTML schrijft dan is er al output op het scherm en kan je niet nog eens een header sturen.
Je moet het voorstellen als een trein, de mensen zijn de headers en als de trein eenmaal vertrokken is kan daar niet nog een header bij. Want die is immers al verzonden. Daarom die header already sent (header is al verzonden) error.
Haal dus alle output boven de header functie weg. Sowieso is het handig om alle PHP verwerking boven het doctype te laten gebeuren.
Je moet het voorstellen als een trein, de mensen zijn de headers en als de trein eenmaal vertrokken is kan daar niet nog een header bij. Want die is immers al verzonden. Daarom die header already sent (header is al verzonden) error.
Haal dus alle output boven de header functie weg. Sowieso is het handig om alle PHP verwerking boven het doctype te laten gebeuren.
leuke uitleg
Alex L op 18/03/2011 01:02:52:
(...)
Het vreemde is dus dat regel 17 in mijn header.php is:
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
(...)
Het vreemde is dus dat regel 17 in mijn header.php is:
<td align="center" width="300" valign="middle" background="layout/bg1.jpg" bgcolor="#ffffff">
(...)
Alex L op 18/03/2011 01:44:38:
Regel 233:
} else { session_unset(); session_destroy(); header('location: index.php'); }
(...)
} else { session_unset(); session_destroy(); header('location: index.php'); }
(...)
php.net header:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Staat er toch duidelijk.
Heb het opgelost, had dus de header voor de sessie controle staan.
Schaam me dood, paar jaar scripten en dan door zoiets simpel vast komen te zitten -__-"
Schaam me dood, paar jaar scripten en dan door zoiets simpel vast komen te zitten -__-"
Gewijzigd op 18/03/2011 15:36:09 door Alex L
iedereen maakt fouten . Ooit is een keer 3uur gekeken naar een script omdat ik wit scherm kreeg was ik een = vergeten voor een variabel
Error reporting aanzetten, heb je dat probleem niet ;-)




