Autor Zpráva
Petr1234
Profil *
Cau,

na webu jsem pouzil session, takze uplne na zacatku stranky mam session_start (); Nevim proc, ale zacalo mi to po drive bezproblemovem chodu psat tyto chyby:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

Nevite jak toto odstranit? Session totiz prestala fungovat :(

Diky
tiso
Profil
Posielaš výstup skôr ako voláš session_start... Skontroluj si dotyčné súbory...
Petr1234
Profil *
Jaky vystup? Tomu nerozumim...
gaminn
Profil *
Petr1234
Toto je tady řešeno několikrát týdně, odpověď i řešení najdeš lehce v tomto fóru.
tiso
Profil
Petr1234
Nerozumieš warningom, nerozumieš čo je to výstup, tak neprogramuj a venuj sa niečomu inému...
Anonymní
Profil *
stacilo sa len pozret do faq, alebo prehladat forum, lenze niekto je moc pohodlny ze?

headers already sent...
Pokud už byl generovaný nějaký výstup, tak už nelze používat funkce header(), setcookie() ani session_start(). Jejich volání skončí chybou.
Přesvědčete se, že před začátkem <?php ?> není žádný text (ani mezera) a že nebylo nic odesláno třeba funkcemi jako echo nebo print.
Pokud je text v UTF-8, tím výstupem může být i tzv. BOM signatura, vizte výše zmíněný Divný znak (čtvereček)....
Onecar
Profil
session_start(); musí být na prvním řádku bezpodmínečně, jinak to háže tyhle chyby..[b][/b]
nightfish
Profil
session_start(); musí být na prvním řádku bezpodmínečně, jinak to háže tyhle chyby
nemusíííí, nemusíííííí...
OndrejCZE
Profil *
session_start(); musí být na prvním řádku bezpodmínečně, jinak to háže tyhle chyby
nemusíííí, nemusíííííí...


Asi tak, staci kdyz nebudes posilat echo a header apod. Ondra

2tiso:
Kazdy jsme nejak zacinali.
gaminn
Profil *
OndrejCZE
Proč bys nemohl posílat hlavičky?
nightfish
Profil
dokonce i echo můžu použít - stačí kouzlo jménem ob_start()
DoubleThink
Profil *
Hlavičky před tím posílat můžeš - výstup ne.
DoubleThink
Profil *
nightfish
Jistě - bufferování je řešením (prasáckým). Pomocí něj defacto zakážeš odesílat interpretu výstupy během vykonávání programu.
HTTP odpověď musí mít ale vždy strukturu [hlavičky]\r\n\r\n[obsah] - kombinovat to nejde.
Toto téma je uzamčeno. Odpověď nelze zaslat.