Jak zrobić alert bo kliknięciu na przycisk?


(Nic) #1

Witam,

Zauważyłem na stronie mBanku, że jak wysyłam przelew i klikam dwa razy zatwierdź to za pierwszym razem wysyła formularz, a za drugim pisze, ze akcja jest juz wykonana. Potrzebuje coś identycznego.


(kamil_w) #2

Podejrzewam, że bank korzysta z jakiejś bazy danych (np. MySQL). W takim przypadku możemy dla każdego polecenia przelewu tworzyć rekord, któremu nadamy dwie wartości: 0 i 1. Podczas wysłania formularza stos tego rekordu będzie zwiększany o 1. W ten sposób przy następnej próbie wysłania tego samego formularza wystąpi błąd, bo rekord nie może przyjąć wartości 2.


(Nic) #3

hmm... To właśnie jest dodawanie rekordów do bazy jak "wyślij" i właśnie nie tylko ja, ale i inni często klikają w niego po X razy i rekord tworzy się po kilka razy... jak temu zapowiedz?


(Grzesiek1) #4

Porównać dane wysyłane z danymi zamieszczonymi w bazie i wg tego po prostu podstawiać w miejsce starego htmla nowy z alertem.


(Nic) #5

Mógłbyś jakiś kod dać?


(Grzesiek1) #6

Robisz normalny formularz + przycisk wysyłania, w php zaznaczasz żeby po wysłaniu danych jeśli się powiedzie wszystko załadowało się to samo (razem z zawartościa formularzy możesz nawet), z tą różnicą że pod przycisk wysyłania w kodzie podstawiasz nowy kod, mianowicie:

Dodatkowo żeby było pewne że ktoś nie pogrzebie w htmlu i nie zacznie wysyłać zdublowanych danych do bazy możesz zabezpieczyć to też na poziomie php porównując dane z POST z tymi z BAZY