Autor Zpráva
Kubik
Profil *
Zdravím,
mám problémek s funkcí Header().
Stránka se mi skládá ze tří částí, přičemž obsah se mění pouze na té prostřední. Na těch ostatních, které jsou k této připojeny pomocí include() jsou menu, login atd.
Na té prostřední stránce potřebuji měnit header(Content type...) podle obsahu dané stránky. Nicméně mi to hází chybičku:

Cannot modify header information - headers already sent by (output started at /www/4/site11734/wwwroot/start.php:22)
což jsou výstupy

Existuje nějaká možnost na vyčištění předchozí hlavičky a nahrazení novým content typem?

Tímto prosím o nějakou informaci k rozluštění tohoto problému. Možná je to celé trochu krkolomné.

Děkuji a zdravím
tiso
Profil
Neexistuje, potom by sa Ti rozhodilo kódovanie znakov v ostaných častiach stránky. Prekóduj si tú problémovú stránku pomocou iconv...
Taps
Profil
zkus na začátek souboru dát
session_start();
ob_start();
Kubik
Profil *
Bohužel nefunguje :(
ronnie
Profil
Pokud máte v načítané stránce pouze php, tak nepoužívejte koncovku ?>, je stejně zbytečná a často vede k takovým problémům...
Joker
Profil
Kubik
Vyčistit hlavičku se dá jednoduše posláním stejné hlavičky:
header('Content-Type: text/html; charset=windows-1250');
// teď se stránka posílá s typem text/html a kódováním Windows-1250
header('Content-Type: application/xml; charset=utf-8');
// teď se stránka posílá s typem application/xml a kódováním UTF-8

Důležitá věc: Všechny hlavičky se odešlou, jakmile se odešle první výstup do prohlížeče a pak už se nedají měnit.
Z toho taky vyplývá, že toto:
Na té prostřední stránce potřebuji měnit header(Content type...)
není možné. Celá stránka má jednu společnou sadu HTTP hlaviček.
Toto téma je uzamčeno. Odpověď nelze zaslat.