![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem sobie plik wrzucający dane do bazy. Chcąc uniknąć powtarzania rekordów chciałem wymusić sprawdzenie czy dane osoby będące już w bazie (MYSQL) nie są już raz wpisane. Sprawdzam to na podstawie pytania:
gdzie
Wymyśliłem sobie, że będę informował użytkownika, żeby sprawdził czy dana osoba czasami nie jest już w bazie (a przecież te same nazwiska i rok urodzenia mogą się zdarzyć). Takie ostrzeżenie miałoby mieć formę komunikatu js w następującej formie:
No właśnie - kiedy warunek jest spełniony to owszem pokazuje mi się informacja o konieczności sprawdzenia, ale kiedy potwierdzam to owszem przekierowuje mnie do wyszukiwarki, ale już z wpisanymi danymmi, czy ze zduplikowanym rekordem. Z kolei po naciśnięciu anuluj jest tak jak sobie założyłem - tzn wpisuje mi dane do bazy. Cały problem wydaje się polegać na konieczności zatrzymania działania skryptu PHP przy spełnieniu tych warunków (tzn. przekierownia do wyszukiwarki). Niestety exit w js nie spełnia swojej funkcji. Czy może mi ktoś pomóc jak ten problem rozwiązać. Z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 4 Dołączył: 18.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Po co robić sprawdzanie czy ktoś istnieje w bazie skoro może się zduplikować? Na jakiej podstawie określisz czy jednak ktoś ma być dodany czy nie? Wg mnie to sprawdzanie traci sens. Nawet jeśli się ktoś powtórzy i dostaniesz komunikat to co wtedy? Poszukasz w bazie? Ale czego? A co z użytkownikiem, który takiej możliwości nie ma? Jeśli coś może się potarzać sprawdzanie nie ma sensu. Jeśli jednak patrzymy już czysto technicznie to sprawdzanie i działanie sprawdzania należy zrobić w PHP. Jak napisał Kolega wyżej - js nie zatrzyma PHP. Musisz więc zrobić coś na sposób:
Następnie na podstawie danych z return'a wyświetlasz odpowiedni komunikat o powodzeniu lub powtórzeniu. Jeśli w przypadku wystąpienia powtórzenia mimo wszystko chcesz dodać do bazy to musisz obsłużyć kolejny element. Według mnie najlepiej to zrobić przy użyciu Ajax'a i jQuery. Pozdrawiam! P.S. Rozwalił mnie tekst 'Dane prawdopodobnie znajdują się w bazie.' (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 15:15 |