Autor | Zpráva | ||
---|---|---|---|
Karel Kobyla Profil * |
#1 · Zasláno: 7. 3. 2006, 16:32:33
pouzivam na sve strance sessions a na kazde podstrance co mam zacinam prikazem session_start(); abych se mohl dostavak k promennym. par dnu to vsem chodilo tak jak melo, ale dnes mi prvni clovek napsal. ze mu to vyhodilo hlasku, kterou napisu nakonec a to i v ruznych prohlizecich, tak nevim jestli je chyba v tom ze pokazde volam session_start() nebo na ci strane chyba je. Diky
chyba, ktera vede k neudrzeni promennych v sessions - odhlaseni: Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/pravidla.php:10) in /home/pravidla.php on line 31 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/pravidla.php:10) in /home/pravidla.php on line 31 |
||
djlj Profil |
#2 · Zasláno: 7. 3. 2006, 16:55:28 · Upravil/a: djlj
Karel Kobyla
Před session_start(); máš asi už nějaký HTML výstup.. |
||
Časová prodleva: 8 dní
|
|||
Anonymní Profil * |
#3 · Zasláno: 15. 3. 2006, 16:02:17
Ani nemusis mat vystup, staci ak mas enter po znakoch
?> v nejakom includovanom subore |
||
jozob Profil |
#4 · Zasláno: 15. 3. 2006, 16:22:43
Anonymní
"Ani nemusis mat vystup, staci ak mas enter po znakoch" To je výstup. Karel Kobyla Pokiaľ potrebuješ mať výstup pred funkciou pracujúcou s hlavičkami (napr. session_start), doporučujem riadenie výstupu. Pokiaľ je výstup nepotrebný, jednoducho ho zmaž (napríklad spomenuté biele znaky), pokiaľ je to napríklad html, presuň ho pod funkcie pracujúce s hlavičkami. Problém spočíva v tom, že ak zahájiš výstup (ľubovoľný znak ktorý sa vypíše na stránku - vrátane bielych znakov a HTML) odošlú sa hlavičky (headery - preto tá chybová hláška). Preto zlyhajú akékoľvek funkcie, ktoré pracujú s hlavičkami, pokiaľ sú hlavičky už odoslané. Toto rieši riadenie výstupu - výstup sa hneď neposiela, ukladá sa do cache, hlavičky sa neodosieľajú, pretože výstup nenastáva. Nakoniec výstup odošleš manuálne, čím sa odošlú aj hlavičky. (Zdatnejší kolegovia - opravte akékoľvek nepresnosti) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0