ugrás a tartalomhoz

Űrlap frissítés

doctorwho · 2017. Júl. 5. (Sze), 11.04
Sziasztok!

Van egy HTML űrlapom, amin van egy submit gomb. A submit gomb megnyomását követően a feldolgozó php betölti az adatokat egy MySQL adatbázisba. Hogy lehet azt megcsinálni, hogy a küldés gombot csak egyszer lehessen megnyomni, majd ezt követően, amikor betölt a feldolgozó php itt se lehessen F5-el frissíteni az oldalt? A cél az lenne, hogy az adatok csak egyszer kerüljenek be az adatbázisba.
 
1

Például

Hidvégi Gábor · 2017. Júl. 5. (Sze), 11.42
1, Az űrlap onsubmit eseményében a gombot le lehet tiltani,
2, a megfelelő ellenőrzéseket el lehet végezni a mentés előtt, hogy nem szerepelnek-e már az adatok az adatbázisban,
3, az űrlapot feldolgozó php függvény végén a header('Location: sikeres_mentes.php'); hívásával át lehet küldeni a felhasználót egy másik (vagy ugyanarra az) oldalra.
2

Szia! Az első kettőre tudsz

doctorwho · 2017. Júl. 5. (Sze), 11.44
Szia!

Az első kettőre tudsz írni példa kódot?
3

Nem

Hidvégi Gábor · 2017. Júl. 5. (Sze), 11.56
Nem, az már a te dolgod, hogy utánajárj.
4

Hash?

Arnold Layne · 2017. Júl. 5. (Sze), 14.12
A cél az lenne, hogy az adatok csak egyszer kerüljenek be az adatbázisba.

Ha adatbázisba mentés előtt csinálnál egy hash-t (md5, sha, akármi) a beküldött tartalomról és leellenőriznéd van-e már ilyen beküldve?

Szerk.: Writeonly off, látom Gábor második pontja pont ez. :)
5

Legegyszerűbb

Pepita · 2017. Júl. 6. (Cs), 09.46
4. Asszem a legegyszerűbb és nagyon régi megoldás kimaradt. Tagolni kéne a feladatokat.

- form.html: ezen van a kitöltendő form, aminek action attribútuma a process.php - ra mutat.
- process.php: ez dolgozza fel a beérkező adatokat, és ha jók, menti adatbázisba. sikerességtől függően 2 html közül egyet include-ol.
- success.html: sikeres mentés oldal
- failed.html: sikertelen mentés oldal, link rajta a form.html-re, ha újra akarná kezdeni.

Ezzel a megoldással mondjuk pont beleviszel olyat, hogy pl 8 adatból csak egyet adott meg rosszul, és üres formot kap, a 7 jó adat is eltűnik...