Autor | Zpráva | ||
---|---|---|---|
ajajaj Profil |
#1 · Zasláno: 27. 4. 2010, 11:54:45
if(!isset($_SESSION['sid'])){ session_start(); $_SESSION['sid']=genses("32"); } else $sid=$_SESSION['sid']; předchozí kód používám pro start session, vždycky mi to fungovalo, ale včera se mi s tím přihlásil člověk a session nezačala, vždycky jsem si myslel, že session vytváří server a nezáleží na prohlížeči, ale je možné, aby nějaký předpotopní browser session ukončil? nebo co mohlo způsobit její pád? |
||
panther Profil |
#2 · Zasláno: 27. 4. 2010, 12:22:12
ajajaj:
neměl bys sessiony startovat úplně na začátku, tedy ještě před tou podmínkou? „vždycky jsem si myslel, že session vytváří server a nezáleží na prohlížeči“ ano, na prohlížeči skutečně nezáleží. |
||
Alphard Profil |
#3 · Zasláno: 27. 4. 2010, 16:16:56
ajajaj:
Jak již bylo řečeno, session_start(); na začátek. „vždycky jsem si myslel, že session vytváří server a nezáleží na prohlížeči“ Ano, ale identifikátor session se ukládá do cookies. Pokud jsou zakázané, tak se v závislosti na nastavení buď uloží do URL, nebo se session nevytvoří. radvis: Na první pohled nevidím chybu. Založte si vlastní vlákno a dejte tam ukázku kódu. Ještě můžete zkusit dát echo $_SESSION["nick"] hned pod jeho vytvoření. Zjistíte, jestli se maže, nebo se vůbec nevytvoří. |
||
AM_ Profil |
#4 · Zasláno: 27. 4. 2010, 23:56:35
ajajaj:
> if(!isset($_SESSION['sid'])){ > session_start(); tohle nemohlo nikdy dělat nic rozumného, než zavoláš session_start(), tak nikdy nebude existovat $_SESSION[cokoli]. Jak píší ostatní, session_start() patří na začátek. Jinak - pokud řešíš něco jako identifikátor session, tak to je možná zcela zbytečné - PHP každému návštěvníkovi automaticky vygeneruje poměrně dost silné session ID, a generovat si vlastní má smysl jen v hodně speciálních případech. |
||
Časová prodleva: 14 let
|
0