session cookie - headers already sent
13 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Tak této hlášky se nemohu zbavit. Na serveru webuzdarma je vše OK. Ale na mých Win? se zjevuje tato hláška. Mám server apache na Win98 a IIS na WinXP. Ukládání session i složku mám nastavenu zprávně. Copak to může ještě být za chybu.
-
6e nejdřív pošleš header a pak se snažíš něco dělat s cookies.
-
Zkoušel jsem registrovat SESSIONS hned na začátku hlavičky, ale ani to nepomohlo.
-
Tak to ukaž kód.
-
<head> <title>XXX</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <?php session_start(); session_register("sess_kraj"); ?> <body> Ovšem ve zdrojáku určitě chyba není je to určitě nastavením serveru nebo PHP, jen nevím jaké hodnoty.
-
Nerad bych tě zklamal, ale ve zdrojáku chyba je. Kdekoli si přečteš, že hlavičky se musí poslat jako první, takže ty nemůžeš nejdřív vypsat HTML a potom registrovat session (což pošle cookie která používá hlavičky), takže by to mělo vypadat takhle: <?php session_start(); session_register("sess_kraj"); ?> <head> <title>XXX</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body>
-
Presne tak, funous ma pravdu, jen bych jeste upresnil, ze je lepsi pouzivat pole $_SESSION a ne funkci session_register...
-
To Scarabeus: Záleží na verzi PHP. Starší to neumí. Tomík.
-
Me se nejvic osvedcil vlastni session system, SESSIONID cpu sice za kazdej odkaz, ale muzu se na to spolehnout a vim co pouzivam.... Navic me v nekterejch pripadech prijde vyhodnejsi...
-
Hlavička pokud si dobře pamatuji se odesílá před první použitím vypsání textu ať už HTML, nebo pomocí "echo" v PHP. V případě, že použiji úpravu zdrojáku dle tvé rady, změní se pouze řádek odeslání headers: Cannot send session cookie - headers already sent by (output started at /new_ez/set_sess.php:1) in /new_ez/set_sess.php on line 2
-
>Hlavička pokud si dobře pamatuji se odesílá před první použitím vypsání >textu ať už HTML, nebo pomocí "echo" v PHP. V případě, že použiji úpravu >zdrojáku dle tvé rady, změní se pouze řádek odeslání headers: >Cannot send session cookie - headers already sent by (output started >at /new_ez/set_sess.php:1) in /new_ez/set_sess.php on line 2 hlavicka se skutecne odesila pred vystupem dat, ale to proto ze je to tak vymysleno a nemuzes si to zmenit jak chces. jestlize ji neposles jako prvni a posles neco na vystup hlavicka uz nebude hlavicka... rozdil mezi hlavickou a beznym vystupem je ten ze hlavicka se nezobrazuje jen dava informace a je oddelena od vystupu 2ma prazdnymi radky (\r\n\r\n) ... tudis ten kousek kodu co jsi sem napsal neobsahuje include na soubor new_ez/set_sess.php ve kterem posilas neco na vystup jeste pred sessionem
-
Přesně to je nejspíš příčina. Kdybys ten skrip neincludoval, tak by ti to samotný šlo.
-
OK děkuji, jen ještě prosím jestli by mi to někdo nevysvětlil na tom mém příkladě. Zajímavé je však hlavně to že na tomhle serveru všechny moje stránky fungují správně.