ugrás a tartalomhoz

FORM ellenörzés és kitöltés.

quasimidi · 2003. Jún. 13. (P), 10.32
Szeretnék felveti pár kérdést és várom gondolataitokat, konkrét megoldásokat és ötleteiteket az alábbi "problémák" szakszerű lekezelésében.

1. sokszor előfordul hogy a t.user többször nyomogatja meg az elküldés gombot, ami hatására néha a DB-szerver szimplán visszadob egy duplicate-key üzenetet. Hogyan kezelitek az ilyenek elkerülését, illetve a duplikációk problémáját MySQL szervereknél?

2. Amikor elküldesz egy formot és esetleg pár mező nincs kitöltve (mondjuk JS kliens oldali alkalmazása nékül), akkor a felhasználó automatikusan rábök a browser "Vissza/Back" gombjára és az eddig beírt adatai elvesznek. Ezeket hogyan oldod meg (cookie-k használataq nélkül)?

Egyenlőre ez a két gondolat jött föl, szerintem hasznos lehet ha mások látják a Te tapasztalatodat/ötletedet.

R
 
1

Re: FORM ellenörzés és kitöltés.

Granc Róbert · 2003. Jún. 13. (P), 11.24
1. Javascripttel például: az onSubmit esemény megváltoztatja a submit gombot, hogy ne lehessen újraküldeni vele.
Vagy a szerver oldalon ellenőrizni először: összevetni az űrlapban érkező kulcsot az adatbázissal, és csak akkor rakni be, ha még nincs ott (ha már duplicate key-ről van szó).
Emellett szerintem nagyon jó megoldás pl. Manuel Lemos űrlapgeneráló- és ellenőrző szkriptje, a http://www.phpclasses.org honlapról:
http://www.phpclasses.org/browse.html/package/1.html , amely a számos mezőszintű ellenőrzés mellett pl. segít a többszörös elküldés megakadályozásában is, de nem tudom, hogyan... :)

2. Ha jól tudom, ez böngészőfüggő, legalábbis a Mozilla nálam meg szokta tartani az űrlapok tartalmát.
De én nem kérem a felhasználótól hogy lépjen vissza, hanem az új oldalon, ahol kiírom az üzenetet, hogy ez meg ez a mező nincs kitöltve, rögtön kirakom az eredeti űrlapot is, a hiányzó/hibás mezőket pl pirossal kiemelve, a kitöltött mezőkbe pedig értelemszerűen berakom a már megadott adatokat.

Robi
2

Re: FORM ellenörzés és kitöltés.

quasimidi · 2003. Jún. 13. (P), 13.07
Hmmm... és még Smarty-t is támogatja!
Kár azonban hogy elveszíti így a Smarty a jelentőségét, mert ez generálja a HTML elemeket is. Vagy mégse?

Kicsit utánamentem a "vissza/back" funkcióknak és elég bonyis tud lenni, ha tökéletes működést akarunk minden böngészővel.

A fenti kérdéseim persze továbbra is aktuálisak; ha van valakinek ötlete és nem bánja megosztani, akkor várom a válaszokat ide.