logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

PHP / JS / HTML - podmiana bloku bez przeładowania

sharminte 06 Kwi 2017 09:38 1242 2
REKLAMA
  • #1 16395150
    sharminte
    Poziom 5  
    Posty: 94
    Ocena: 1
    Witam, mam takie 2 oto kawałki kodu:

    form.php
    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    submit.php
    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    Formularz jak najbardziej działa, wysyła się bez przeładowania, natomiast problem mam z komunikatem po przesłaniu, w momencie kiedy wartości w prowadzone są prawidłowe, wyświetlony zostaje komunikat sukcesu, po ponownej próbie załadowania tych samych parametrów do bazy komunikat na stronie zostaje nadpisany, zostaje wyświetlony komunikat o istniejącym już rekordzie.

    Do tego momentu działa wszystko bez zarzutu. jednak jeżeli zmienię parametr (dowolny) przez co wpis kwalifikuje się do dodania prawidłowego, Wpis w bazie zostaje wykonany, jednak komunikat o błędzie nie zostaje nadpisany komunikatem sukcesu, co skutkuje dalszym wyświetlaniem na ekranie komunikatu o duplikacie rekordu, co miejsca mieć nie powinno.

    Czy może mi ktoś wskazać gdzie popełniłem błąd :)
  • REKLAMA
  • #2 16401357
    LED5W
    Poziom 34  
    Posty: 2302
    Pomógł: 264
    Ocena: 162
    Po każdym kliknięciu Wprowadź dodajesz obsługę zdarzenia submit, więc za każdym kolejnym kliknięciem formularz jest wysyłany o raz więcej niż poprzednio. Usuń onclick, wyciągnij kod z funkcji Wprowadź i powinno działać.
    Zamiast $(document).on('submit', // ... proponuję użyć id formularza.
    Gdzie zabezpieczenia przed wstrzyknięciem SQL?
    Co się da rób przed wysłaniem odpowiedzi przeglądarce (mam tu na myśli #msgbox).
  • #3 16402327
    sharminte
    Poziom 5  
    Posty: 94
    Ocena: 1
    Dzięki wielkie, jest faktycznie tak jak mówiłeś, w momencie pozbycia się onclick'a oraz wyjęciu skryptu z funkcji wszystko działa jak należy :)

    Co do SQL injection narazie projekt jest na serwerze zamkniętym i piszę skrypt w celu sprawdzenia funkcjonowania. Zabezpieczał będę go już pod koniec :)
REKLAMA