Nette a tlačítko zpět

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

Zdravím, včera večer mě napadl jeden problém. Jak už jsem tu někde psal, píšu taková mini-eshop za pomocí nette. Vše je v pohodě a po dokončení objednávky si ji uložím v databázi. Ale jak zajistit to, že když někdo dokončí objednávku klikne zpět a pak dá zase dokončit, tak se mu uloží nová objednávka.

Jde nějak pomocí Nette zakázat uživateli akci zpět? A nebo mě ještě napadlo to řešit tak, že bych si uložil čas objednávky a dokud by nebyl čas + dejme tomu 5 minut. Tak by nešla udělat nová objednávka.

Co myslíte, jak tohle řešit?

Jod
Člen | 701
+
0
-

Po odoslaní objednávky presmeruj stránku a tým zamedzíš takýmto neduhom.

David Grudl
Nette Core | 8218
+
0
-

Stránkám jako košík, objednávka apod. zakaž cache (přes $this->lastModified(NULL, NULL, 0)). Po odeslání objednávky smaž košík. Pak nepůjde ji odeslat znovu.

A samozřejmě po každém POST prováděj přesměrování.

TanisCZ
Člen | 80
+
0
-

Hmm to zakázání cache je chytrý nápad. Jinak samořjemě po každém odeslání formuláře přesměrovávám.

phx
Člen | 651
+
0
-

Kdyz pominu Nette, tak obecne:

Kosik mam nekde ulozen. Pri objednani kosik vyprazdnim a ulozim nekam natrvalo jako objednavku. Takze kdyz se uzivatel vrati a bude chtit znovu odeslat tak si objedvana nic. (prazdny kosik) Pak je tedy jen na nas jak se k tomu postavime. (error hlaska)

TanisCZ
Člen | 80
+
0
-

Tak nejak to delam :)

Jod
Člen | 701
+
0
-

Tak neni problém :)