Starší komentáře ke článku: Zamezení vícenásobného odeslání formuláře pomocí server control v ASP.NET
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 13.9.2004 14:16:46
se napise jak ??
Datum vložení: 14.9.2004 16:54:14
<a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://interval.cz/clanek.asp?article=3546' target='_blank'>http://interval.cz/clanek.asp?article=3546</a>
Datum vložení: 14.9.2004 16:55:39
jinak "to samý" v PHP těžko, PHP si na nic jako je Server Control nehraje, můžete si to maximálně sesmolit do nějakýho kusu kódu, kterej pak includujete, ovšem pochybuju, že to i pak bude univerzálně použitelný pro různý aplikace bez úprav jako Server Control
Datum vložení: 6.10.2004 18:37:26
Je to jednoduché. Stačí aby script zpracovávající data z formuláře neměl žádný výstup, tzn. na konci zpracovávání přesměroval na stránku, která zobrazí výsledek. Tento postup má za následek, že prohlížeč vlastní script neuloží do historie, tudíž se nemůže odeslat dvakrát.
Datum vložení: 12.7.2007 10:40:36
No a jak tedy zpracuji data, když nemám výstup ?
Datum vložení: 12.7.2007 21:28:52
strčíš si je víš kam, když nevíš, co znamená, že stránka nemá výstup!
Datum vložení: 2.8.2008 21:37:02
Redirect je jednoduché řešení, ale jak se v článku zmiňuje, neošetří to vícenásobné kliknutí na submit button, pokud odesílání chvíli trvá. Před zobrazením formuláře si vygenerujte nějaký nesmysl, který uložte do session a do hidden pole ve formuláři. Při zpracování kontrolní stringy porovnejte a smažte ze session. Pokud v session string už nebude, znamená to, že už je formulář jednou zpracovaný.