Autor | Zpráva | ||
---|---|---|---|
TomasJ Profil |
#1 · Zasláno: 29. 1. 2011, 20:25:56 · Upravil/a: TomasJ
Zdravím,
nevím proč, ale když na webu od hostitele Webzdarma nastavím cookie, dám uplynutí na time()*2, tak mi stejně nastaví cookie jen na dobu platnosti: "Na konci relace". Nebo třeba když chci cookie zničit (nastavením času který již byl), vypíše mi web tohle: Warning: Cannot modify header information - headers already sent by (output started at /3w/wz.cz/*/********/pages/index.php:39) in /3w/wz.cz/*/********/pages/obsah/admin.php on line 19 Tentýž kód jsem měl i na webu od hostitele Endora a vše šlo v pohodě. Nevíte čím to může být a jak tento problém odstranit? Může to být způsobeno tím, že na začátku stránky mám session_start(); ? Děkuji. |
||
Alphard Profil |
#2 · Zasláno: 29. 1. 2011, 20:58:16 · Upravil/a: Alphard
TomasJ:
„Může to být způsobeno tím, že na začátku stránky mám session_start();“ Nemělo by. „Warning: Cannot modify header information - headers already sent by“ Po milionté stejný problém. Řešení naleznete hledáním nebo ve FAQ. Na jiném hostingu to fungovalo díky jinak nastavenému výstupnímu bufferu. „dám uplynutí na time()*2“ Timestamp má své meze, zkuste přičíst nějakou rozumnou hodnotu. |
||
TomasJ Profil |
#3 · Zasláno: 29. 1. 2011, 22:21:10
Alphard:
Takže děkuji za to řešení timestampu a jak jsem se dočetl ve FAQ tak to znamená že veškerá cookies musím nastavit ještě před obsahem? tj. v HEAD nebo před DOCTYPEm? |
||
Alphard Profil |
#4 · Zasláno: 29. 1. 2011, 22:29:26
TomasJ:
„tak to znamená že veškerá cookies musím nastavit ještě před obsahem? tj. v HEAD nebo před DOCTYPEm?“ Ano. Nejde jen o cookies, veškeré hlavičky (i session_start()) musí být před jakýmkoliv výstupem. |
||
TomasJ Profil |
#5 · Zasláno: 29. 1. 2011, 22:44:41 · Upravil/a: TomasJ
Alphard:
Ovšem, to abych přidělával kvůli cookies další podmínky. Ale asi se na to vykašlu a udělám administrační login jen přes session (takže nikdy nebude trvalé přihlášení). Stejně jsem si teď uvědomil, že existuje funkce v JS, která cookies bez problému nastaví, takže by se dotyčný přihlásil i bez hesla a já nevím jak toto zabezpečit. |
||
Alphard Profil |
#6 · Zasláno: 29. 1. 2011, 22:47:53
TomasJ:
Lze to obejít bufferovacími funkcemi. Podobně, jako to fungovalo na Endoře. MVC aplikace se navrhují tak, že logika je na začátku a šablony se vykreslují až na konec, takže to nebývá problém. |
||
Časová prodleva: 13 let
|
0