Autor | Zpráva | ||
---|---|---|---|
martas Profil * |
#1 · Zasláno: 13. 2. 2008, 15:28:30
Dobrý den,
chci si uložit do cookies pole, které nejdřív převedu na řetězec pomocí funkce serialize() a následně je pomocí unserialize() převést zpět do pole. Jenže mi to nějak ne a ne fungovat. $kolacek = array ("123" => "test"); $uloz = serialize($kolacek); setcookie("zkouska", "".$uloz."", time() + 30*24*60*60); echo print_r(unserialize($_COOKIE['zkouska'])); Ale vypíše mi to jen číslo 1 (slovy jedna), nic víc. Když to zkusím bez cookies (jen přes proměnnou), tak to funguje, ale s cookies mi to nechce šlapat. Na webu jsem všude četl, že by to mělo bezprolémů fungovat, ale nějak mi to nejede... |
||
tiso Profil |
#2 · Zasláno: 13. 2. 2008, 15:34:32
COOKIE kontroluj až na ďalšej stránke, nie na tej ktorá ho nastavuje. To nepôjde.
|
||
martas Profil * |
#3 · Zasláno: 13. 2. 2008, 15:38:19
tiso: tak v tomhle to nebude... Hodil jsem to přečtení na jinou stránku a stejně se nic neděje, respektive děje, ale beze změny - pořád se mi zobrazuje jen jednička...
|
||
martas Profil * |
#4 · Zasláno: 13. 2. 2008, 15:57:37
zkoušel jsem taky funkce implode() a následně explode(), ale to mi zase rozhodí klíče - takže z původního 123 => test je po opětovném převedení na pole výsledek 1 => test...
Což je taky celkem na prd :( |
||
martas Profil * |
#5 · Zasláno: 13. 2. 2008, 15:58:13
oprava, výsledek je 0 => test
|
||
martas Profil * |
#6 · Zasláno: 13. 2. 2008, 16:14:52
no tak nic :)... poradil jsem si nakonec sám... Kdyby někdo v budoucnu potřeboval tak jsem to pořešil takto:
$kolacek = array ("123" => "test"); $uloz = base64_encode(serialize($kolacek)); setcookie("zkouska", "".$uloz."", time() + 30*24*60*60); echo print_r(unserialize(base64_decode($_COOKIE['zkouska']))); |
||
Leo Profil |
#7 · Zasláno: 13. 2. 2008, 16:18:22
Nechcete si nejdriv vypsat samotne $_COOKIE['zkouska']? :-) Leo
|
||
Leo Profil |
#8 · Zasláno: 13. 2. 2008, 16:19:40
Nejspis mate zapnute automaticke escapovani uvozovek (magic_quotes_gpc), to ma vliv i na cookies, a vy tam uvozovky mate. Leo
|
||
martas Profil * |
#9 · Zasláno: 13. 2. 2008, 16:29:20
Leo: ano, to bude ono... Už mě to také napadlo, ale už mi to funguje i tak...
|
||
Leo Profil |
#10 · Zasláno: 13. 2. 2008, 17:21:13
No, mam pocit, ze base64 kodovana hodnota muze obsahovat = a to je v hodnote cookie zakazany znak, Leo
|
||
nightfish Profil |
#11 · Zasláno: 13. 2. 2008, 17:51:07
echo print_r(unserialize($_COOKIE['zkouska']));
echo print_r(...); co to je za konstrukci? je logické, že to pak vypíše buď 0 (false) nebo 1 (true), podle výsledku funkce print_r() |
||
tiso Profil |
#12 · Zasláno: 13. 2. 2008, 18:12:39
Úvodzovky mi nenapadli...
|
||
Časová prodleva: 16 let
|
0