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.
<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ě.