Autor Zpráva
Bildr
Profil
Narazil jsem na zapeklitý problém s cookies, už mi z toho jde hlava kolem. Pomocí nativní funce PHP si uložím do cookie jazykovou mutaci webu, kterou zrovna user používá. Provedu tedy něco takového:

setcookie('lang', $lang, strtotime('+1 month'));


Chci zkontrolovat nastavené hodnoty, kouknu na adrese, kde jsem cookie nastavil a mám:

'lang' => string 'czech' (length=5) // což je OK


Kouknu na jiné adrese a mám:

'lang' => string 'english' (length=7) // což už OK není


Oba skripty jsou prováděny na stejném souboru (index.php), na který probíhá přesměrování z URL http://localhost/www/apl/ a http://localhost/www/apl/home (2 výše uvedené příklady). Neřešil někdy někdo něco podobného? Fakt už se v tom motám...

Používám framework Code Igniter 2.1 (pro nastavení cookies jsem ale zkoušel nativní fce PHP), htaccess je nastaveno na skrytí souboru index.php v URL, na serveru je PHP 5.3.6, Apache 2.2.19.
Str4wberry
Profil
Musíš si nastavit parametr path. Jinak mají oba adresáře sušenky vlastní.
Bildr
Profil
Nn. Pokud není path nastaven, tak cookie platí v celé doméně.

Nakonec jsem to rozchodil tak, že jsem nastavení cookie přesunul do post-controller hooku v CI a k nasetování taky používám funkce z helperu frameworku namísto nativních fukncí PHP. Takže je to nějaké issue s codeigniterem, sám nevím co za tím bylo, ale už to funguje, tak snad to někomu v budoucnu pomůže :-)
Str4wberry
Profil
Negativní. Viz funkce setcookie:

„The default value is the current directory that the cookie is being set in.“

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