Diskuze: Potvrdit nové odeslání formuláře po refreshnutí stránky

PHP PHP Potvrdit nové odeslání formuláře po refreshnutí stránky American English version English version

Avatar
dvorak.jakub.24:

Zdravím. Moje webová aplikace přijímá textový vstup od uživatele, který se uloží do databáze, ale když po odeslání formuláře znovu načtu stránku, vyskočí okno 'Potvrdit nové odeslání formuláře'. Když to potvrdím, celá akce se opakuje znovu a v databázi je ta jedna samá věc dvakrát. Můžete mi poradit co s tím můžu udělat? Díky

 
Odpovědět 19.5.2015 20:15
Avatar
Odpovídá na dvorak.jakub.24
Ondřej Štorc:

Napadá mě jedině po odeslání přesměrovat znovu na tu stejnou stránku aby se v paměti neuchovávali ty data která odesíláš

Nahoru Odpovědět  +1 19.5.2015 20:21
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Ondřej Štorc
IT Man:

To se dá pak vrátit a poslat znova, ale to už není po refreshnutí. Ještě jedině nějak ošetřovat např. jestli není v databázi ten stejný vstup. :)

Nahoru Odpovědět  +1 19.5.2015 20:40
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Odpovídá na IT Man
Ondřej Štorc:

Taky možnost. A možná i trochu jistější, protože jak znám některé lidi ve svém okolí, tak ti v prohlížeči klikají vždy a všude na tlačítko zpět.

Nahoru Odpovědět 19.5.2015 20:45
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na IT Man
dvorak.jakub.24:

Děkuju. A tohle ošetření by mělo vypadat jak asi? Nedokážu si to moc představit v reálné situaci.

 
Nahoru Odpovědět 19.5.2015 20:55
Avatar
Odpovídá na dvorak.jakub.24
Ondřej Štorc:

Například porovnáš obsahy a autory například posledních 20 příspěvků (může jich být více, ale jsem realista a myslím si že Tvoje stránky nemají zas tak velkou návštěvnost, pokud se platu tak se omlouvám) a zjistíš jestli je v obouch případech shoda (stejný uživatel odeslal znova příspěvek se stejným obsahem). Pokud shoda nenastane tak ten příspěvek normálně vložíš do databáze, v opačném případě mu vypíšeš nějakou zprávu o double postu atd.

Nahoru Odpovědět  +1 19.5.2015 21:01
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
IT Man
Redaktor
Avatar
Odpovídá na dvorak.jakub.24
IT Man:

Či nastav $_SESSION a ověřuj, zda existuje.
Např. existuje $_SESSION['odes­lal']? V tom případě vypiš Nemůžete odeslat více zpráv po sobě! ;)

Nahoru Odpovědět 19.5.2015 21:10
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.