Mam stronę w PHP z użyciem AJAX'a. Dość rozbudowany panel, porozbijany na różne pliki, które odświeża AJAX, gdy zajdą jakieś zmiany, porobione zegarki w JS, które sprawdzają zmiany i odświeżają podpliki php.
Mam coś takiego, że klikam w przycisk, pojawia się okienko (modal) i tam wpisuje dane, klikam OK i te dane wpadają do bazy MySQL jako nowy rekord. Wcześniej sprawdzam, czy takie dane już nie istnieją w bazie. Jeżeli istnieją - wyrzuć komunikat o błędzie i przerwij skrypt.
Problem pojawia się gdy dodam pierwszy raz zupełnie coś nowego, np:
Informacja1 | Informacja2
Tych danych nie ma w bazie. Wpisuje w formularz, daję OK i dodaje mi (różnie) - 3, 5 rekordów takich samych (mimo sprawdzenia czy rekord już istnieje)
Informacja1 | Informacja2
Informacja1 | Informacja2
Informacja1 | Informacja2
Informacja1 | Informacja2
Informacja1 | Informacja2
Tak jakby skrypt gdzieś wykonywał się 5 razy w jednym momencie i nienadążał sprawdzać czy rekord istnieje.
Jak znowu spróbuje dodać (gdy dane już są w bazie)
Informacja1 | Informacja2
Już nie doda, wyskoczy błąd. Duplikuje mi rekordy, gdy dane są zupełnie nowe.
Wiem, że winą są tu te zegarki i odświeżanie plików i nie zdąża sprawdzić czy rekord istnieje.
Jak sobie z tym poradzić?