Autor Zpráva
niCe
Profil
Ahoj, takže abych to shrnul:

setcookie("jmeno", "hodnota");

mi doteď fungovalo bezvadně. Problém nastal když jsem převedl adresy /index.html na třeba /cz/home/ pomocí mod_rewrite. Protože jsem na to šel podle doporučení W3C a celkově jsem to mnohde taklhe viděl, udělal jsem tuhle složkovou strukturu. Jenže to evidentně nesedí cookies, které se pravděpodobně přiřazujou právě ke složkám. Tzn., že pokud se mi uloží cookie na tom /cz/home/, tak po znovuotevření stránky to vrhá hodnotu jakou má. Jenže ejhle, ve stránce /cz/help/ už ta hodnota není. Chová se to tak, jako by ta cookie prostě neexistovala. Po znovuzaložení cookie i pro /cz/help/ už se ale hodnota objevuje.

No a co bych potřeboval:
Je to jednoduché, pokud s tím máte někdo zkušenosti, poraďte mi prosím jak zařídit, aby založená cookies platila po celém webu (jak to říci - prostě pro celou doménu) a aby se to netřískalo s těmi složkami.

Předem díky za odpovědi,
niCe
roberta
Profil
niCe
setcookie neposiela cookies klientovi do počítača? čo to má spoločné z tvojimi adresármi na serveri?
niCe
Profil
Posílá se klientovi, ale evidentně má ta cookie platnost jen pro určitý adresář, ikdyž vlastně o adresář nejde, protože /cz/home/ se pomocí mod_rewrite neviditelně přesměruje na index.php?lang=cz. A já potřebuju, aby ta cookies vracela hodnotu jak na /cz/home/ tak i na /it/help nebo /de/sitemap/

Nevím jak to vysvětlit lépe, snad mi pomůže někdo kdo má s mod_rewrite zkušenosti, protože já s ním teprve začínam.
roberta
Profil
evidentně má ta cookie platnost jen pro určitý adresář
to je blbosť. setcookies v http hlavičke odošle do klienta cookie a pri každom klientskom dotaze sa od klienta príjme cookie na server v http hlavičke.

tým som chcel povedať, že chyba je niekde inde... napíš sem, zdroják toho mod_rewrite
bukaj
Profil
niCe
Viz setcookie().
Kromě názvu a obsahu cookie, lze určit pro jakou cestu má platit. Pokud se cesta nastaví na '/', tak by měla platit pro celou doménu.
niCe
Profil
roberta
Ano, vim. Jenže to prostě prakticky nefunguje po aplikaci toho mod_rewrite. Zkusím nejdříve postup, který radí bukaj. Zatím díky za pomoc.

bukaj
Díky moc, takže evidentně ty cookies opravdu platí jen pro určitý adresář, čímž bude třeba nastavit pro celou doménu.
niCe
Profil
Takže to funguje, díky za pomoc. Pro všechny ostatní:

Pokud používáte mod_rewrite a zakládáte na svých stránkách cookies, nezapomeňte na parametr domain "/", jinak ty cookies nebudou fungovat po celém webu.

setcookie("name", "value", "expire", "domain");

nevýhodou ovšem je, že nemůžete vynechat ten parametr time, který se hodí jen u krátkodobých cookies, které se po zavření "okna" vymažou.

niCe
djlj
Profil
niCe
Máš to blbě. Pořadí je:
bool setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]] )
niCe
Profil
Mám, v mém příspěvku má být všude místo domain atribut path.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0