Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 10. 2. 2006, 13:15:00
Jistě většina z vás zná hlášku Cannot modify header information - headers already sent by (output started at...
Pročítal jsem si řešení podobných problémů, ale obávám se, že jsem asi příliš natvrdlej a řešení mi nedochází. Znám příčinu, ale ne a ne přijít na řešení. Mám stránky, do kterých jsem vložil anketu. Anketa je vložena v buňce tabulky, která se nachází ve spodní části stránky. Celý kód vypisovat nebudu, nejde o nic, co by jste neznali. Vypíšu alespoň podmínku, při které k chybě dojde. Chybovou hlášku způsobuje zvýrazněný řádek: if(!isset($_COOKIE[$jmeno_cookie])) { if(isset($o)) { // chyba ve vyvolání $o = null; setcookie($jmeno_cookie, '1', time()+$exp, '/'); } else { // první vyvolání bez cookie $odkaz = '1'; setcookie($jmeno_cookie, '0', time()+$exp, '/'); } } else { // následující vyvolání s cookie if(isset($o)) { // hlas nalezen if($_COOKIE[$jmeno_cookie] == '0') { // zatím nehlasoval setcookie($jmeno_cookie, '1', time()+$exp, '/'); } else { // již hlasováno $o = null; } } else { // refresh $odkaz = '1'; } } Poradíte mi někdo, jak tuhle chybu odstranit? Předem moc díky. Příjemný den všem. |
||
MilanJ Profil |
#2 · Zasláno: 10. 2. 2006, 13:16:26
Tenhle dotaz je můj... hlava děravá se zapomněla přihlásit.
|
||
WertriK Profil * |
#3 · Zasláno: 10. 2. 2006, 13:38:53
Přihlášený být nemusíš, stačí jen vyplnit jméno.
No k věci. Stačí když dáš na úplný začátek stránky <? ob_start(); ?> a na konec <? ob_end_clean(); ?> Jde totiz o to že hlavicky a cookie musi být odeslány ještě před tím, než neco vypíšeš máš třeba echo "ahoj"; setcookie($jmeno_cookie, '1', time()+$exp, '/'); tak ti to vyhodí hlášky že hlavička je už odeslaná, řešení je setcookie($jmeno_cookie, '1', time()+$exp, '/'); echo "ahoj"; Nebo to co jsem ti napsal viz http://interval.cz/clanek.asp?article=1063 |
||
Peca Profil |
#4 · Zasláno: 10. 2. 2006, 13:41:22
FAQ
Před použitím cookies nesmí být žádný výstup. Žádný html kód nebo echo. Vadí i mezera před <? Celý tento kus kódu hoď někam na začátek stránky, za deklaraci proměnných apod. |
||
MilanJ Profil |
#5 · Zasláno: 10. 2. 2006, 13:43:12
Díky, ob_start() a ob_end_clean() sice neznám, ale funguje to.
Přečtu si článek. Ještě jednou moc díky.;-) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0