Generovanie formulára
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Spikee
- Člen | 2
Ahoj, pracujem na náhodnom generovaní kvízov/testov a mám problém s tým, že po vygenerovaní formulára (select … order by rand()) a jeho odoslaní sa pri vyhodnocovaní vygeneruje ešte raz a tým pádom sa odpovede priradia iným otázkam. Ako sa to má riešiť? Robil som to cez session, ale nejako to nie je spoľahlivé…
- nAS
- Člen | 277
Po odeslání formuláře je třeba uživatele přesměrovat na stránku s výsledky, což bude typicky jiný pohled, ve kterém už se nebudou generovat otázky.
Doporučuju prostudovat článek na Zdrojáku.
- _Martin_
- Generous Backer | 679
Též by bylo dobré při odesílání formuláře odeslat i id testu (či mnohem lépe: mít id aktuálního testu v session) a při existenci takového id volit jiný SQL dotaz.
// před definicí formuláře
if (isset($...['id'])) {
$result = ... "WHERE id = $id" ...
}
if (!isset($result) || !$result) {
$result = ... "ORDER BY RAND()" ...
}
Kód je samozřejmě jen ukázka, takže si žádá dopsání a drobné úpravy.