NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
dvorak.jakub.24:19.5.2015 20:15

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
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na dvorak.jakub.24
Ondřej Štorc:19.5.2015 20:21

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
19.5.2015 20:21
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Jan Lupčík:19.5.2015 20:40

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
19.5.2015 20:40
TruckersMP vývojář
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Jan Lupčík
Ondřej Štorc:19.5.2015 20:45

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 Jan Lupčík
dvorak.jakub.24:19.5.2015 20:55

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
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na dvorak.jakub.24
Ondřej Štorc:19.5.2015 21:01

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
19.5.2015 21:01
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na dvorak.jakub.24
Jan Lupčík:19.5.2015 21:10

Č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
TruckersMP vývojář
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.