prepisovanie session hodnot po odoslani form
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- erzzo
- Člen | 49
Zdravim. V actionShow ziskavam id udajov z db a zapisujem do session :
....
$test = $this->getModel("testsModel")->select("a_b_tests")->where($where1,$where2)->order("RAND() ASC")->limit($params['question_quantity']);
foreach($test as $t){
array_push($array_questions_id, $t['id']);
}
$session = $this->getSession('questions_select');
$session->question_select = $array_questions_id;
...
a vykreslujem formular kde použivam tieto hodnoty zo session, lenze po odoslaní formulara ked si dam tieto hodnoty vypísat zo session tak su uz ine hodnoty tých idčiek. Vsetko je v ramci jedneho presenteru. Vykona sa znova nejako ten select z db… Viete ako to vyriesit ? dakujem
- pave.kucera
- Člen | 122
Pokud je ten dotaz na databázi a zapsání do session opravdu v action metodě, tak se to provádí při každém načtení stránky, ať už jsi formulář odeslal, či ne. Jestli potřebuješ, aby k tomu nedocházelo při odeslání formuláře, musíš zapsání do session nějak podmínit, eg.
<?php
// presenter
if (!$this['form']->isSubmitted()) {
// store data in session
}
?>