Čtení session v signálech / Nette 2

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jenda87
Člen | 20
+
0
-

Ahoj,

používám Nette 2 & php 5.3. Ajaxově si volám dva signály. Když zavolám jeden signál, uložím si něco do session. Když ten samý signál zavolám znova, tak ze session přečtu, co chci. Jenže když zavolám jiný signál, tak se section tváří jako prázdná.

Nástin kódu signálů:

public function handleUpload() {
            	$section = $this->getContext()->getService('session')->getSection('regForm');
		$section->promenna = 'jsem tu';
		var_dump($section->promenna);
}

public function handleNahled() {
            	$section = $this->getContext()->getService('session')->getSection('regForm');
		var_dump($section->promenna);
}

Nevíte prosím jak to mám udělat, abych viděl proměnné session i ve funkci handleNahled?

Filip Procházka
Moderator | 4668
+
0
-

Zkontroluj si v nějakém debuggeru, že se ti posílají sušenky.

jenda87
Člen | 20
+
0
-

Nj zjistil jsem, že Firebug hlásí, že při zavolání signálu se změní PHPSESSID i nette-browser cookie. Vypíše hodnotu sušenky, ale ta je furt stejná. Fakticky se nezměnila od posledního volání signálů.

Nemusí se ta session inicializovat ještě někde vejš?

Editoval jenda87 (1. 8. 2011 13:20)

jenda87
Člen | 20
+
0
-

Ještě jsem objevil, že v temp/sessions mám dva soubory. Prostě co signál, to session id.

Filip Procházka
Moderator | 4668
+
0
-

No to je logické, když se ti mění sessionId, což by ale nemělo.

srigi
Nette Blogger | 558
+
0
-

Pre maximalnu istotu, mas to takto v app/bootstrap.php?

...

$container->session->setExpiration('+ 90 days');
$container->session->start();

$application = $container->application;
//$application->catchExceptions = TRUE;
$application->errorPresenter = 'Error';
$application->run();

Editoval srigi (1. 8. 2011 19:12)