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

Avatar

Autor komentáře: Tomas Hanzelka

Datum vložení: 13.9.2004 14:16:46

se napise jak ??

Avatar

Autor komentáře: kjouba

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>

Avatar

Autor komentáře: kjouba

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

Avatar

Autor komentáře: Jaaa

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.

Avatar

Autor komentáře: Jura

Datum vložení: 12.7.2007 10:40:36

No a jak tedy zpracuji data, když nemám výstup ?

Avatar

Autor komentáře: Jura2

Datum vložení: 12.7.2007 21:28:52

strčíš si je víš kam, když nevíš, co znamená, že stránka nemá výstup!

Avatar

Autor komentáře: gogy

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ý.

Zpět na článek | Úvodní stránka Interval.cz