ako prevziat session nastavene pomocou JS
- duskohu
- Člen | 778
Caute, viete mi poradit? ked mam session nastavene pomocou JS:
document.cookie = "hodnota=" + true;
a prevezmem ho v presenteri:
$session = \Nette\Environment::getSession('hodnota');
\Nette\Diagnostics\Debugger::barDump($session);
tak mi vrati objekt: Nette\Http\SessionSection, toto session sa tam aj nachadza, ale neviem sa dostat k jeho hodnote, co robim zle? v neone mam este:
nette:
session:
autoStart: smart
expiration: +30 days
- Tabetha
- Člen | 140
Tak v presentri asi použiť radšej
$session = $this->session->getSection("hodnota");
než
$session = \Nette\Enviroment::getSession("hodnota");
a vrátiť premennú zo session
Debugger::barDump($session->variable);
miesto „variable“ názov tej premennej čo chceš…hádam je to čo si chcel
- duskohu
- Člen | 778
no problem je tom ze ja nemam ziadnu sekciu, takze ked zadam:
$session = $this->session->getSection("hodnota");
Debugger::barDump($session->hodnota);
tak mi vrati NULL, lebo hodnotu zobralo za sekciu :-( to by som musel nejako nastavit sekciu pomocou JS a do nej este vlozit hodnotu.
- Draffix
- Člen | 146
duskohu napsal(a):
no problem je tom ze ja nemam ziadnu sekciu, takze ked zadam:
$session = $this->session->getSection("hodnota"); Debugger::barDump($session->hodnota);
tak mi vrati NULL, lebo hodnotu zobralo za sekciu :-( to by som musel nejako nastavit sekciu pomocou JS a do nej este vlozit hodnotu.
Když si vytvoříš namespace třeba nette, tak pak session z té sekce dostaneš tímto
$session = $this->session->getSection("nette");
Když pak chceš dumpovat proměnné, tak musíš už mít v té session sekce nette nějakou proměnnou