Autor Zpráva
ajajaj
Profil
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
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0