Tworzenie inteligentnego formularza

0

Cześć,

jestem początkującą osobą jeśli chodzi o front-end i chcę zrobić formularz ale nie wiem za bardzo za co się złapać, więc po prostu opisze co to ma być a mam nadzieję, że wy, doświadczone osoby mi cokolwiek podsuniecie, a więc:

  1. Mam formularz, gdzie dodaje się zamówienia klientów
  2. Po wypełnieniu formularza zamówienie trafia do bazy danych
  3. W formularzu podaje się między innymi PESEL klienta i jest to pierwszy input
  4. Jeśli jest to ponowne zamówienie klienta np. po roku to jego poprzednie zamówienie jest już w bazie danych i po PESELU można wtedy pobrać dużą część innych inputów, takich jak imie, naziwsko adresy itd. żebym nie musiał tego robić ponowanie
  5. Z tym, że te dane musiały by być pobierane z bazy danych serwera i tutaj moje pierwsze pytanie, jakimi narzędziami się robi takie rzecz.
  6. Chciałbym również robić sugestie dla wpisów, np. przy wpisywaniu miasta i wprowadzeniu pierwszych liter np.: "W" to od razu proponuje mi "Warszawa".

czytałęm trochę o elasticsearch i wydaje się, że to narzędzie może rozwiązać moje problemy
też teraz jak to pisze to do głowy wpadł mi pomysł, żeby np.: co każdą literkę wprowadzaną do PESEL strzelać do back-endu i pytać czy jest już taki wpis i ew. zwracać obiekt z danymi
no ale nigdy nie robiłem takich rzeczy więc pytam o wasze wskazówki

3

Pierwsza sprawa - zapomnij o podpowiadaniu numeru PESEL, bo to bardzo poważne nadużycie/luka w bezpieczeństwie. Wyobraź sobie, że ktoś wpisze 840219 i system z automatu mu wyświetli w ramach podpowiedzi pesele WSZYSTKICH twoich klientów urodzonych 19 lutego 1984. To jest niedopuszczalne. Poza tym w ogóle nie powinny się pojawiać jakiekolwiek dane klienta albo jego zamówień, jeśli nie nastąpi pełne zalogowanie do systemu. Inaczej ktoś, mając tylko dostęp do czyjegoś numeru PESEL, miałby wygląd w to, co się działo wcześniej.

Jeśli chcesz mieć wgląd w zamówienia historyczne, to wymuś posiadanie konta, a dostęp do danych klienta oraz starych zamówień jedynie po podaniu loginu i hasła.

W temacie podpowiadania - standardowy formularz jest sprawdzany przez serwer po wysyłce. Żeby zrobić to w taki sposób, jak Ty chcesz, musisz skorzystać z Ajax albo fetch api - https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API. To wymaga od ciebie oczywiście zapewnienia wsparcia po stronie serwera. Takie rzeczy jak np. miasta i kody pocztowe możesz sobie zrobić w samym JavaScript i odpalać jedynie w przeglądarce po stronie klienta, ale prawdziwa interaktywność wymaga integracji z backendem.

0

Program chcę zrobić dla swojej rodziny, która prowadzi zakład optyczny i tylko tam będzie jego instancja, mimo to zamierzałem zrobić logowanie itd. Ten komputer nawet nie jest połączony z siecią :)
Dziękuje za podsunięcie AJAX-a troche popatrzyłem i widzę, że rozwiązuje to pewne problemy, ale jeśli chodzi o te miasta to uważasz, że bardziej opłaca wysłać się te 1000 rekordów od razu, aby były dostępne po stronie klienta ? Nie lepiej byłoby jednak je też wyciągać AJAX-em ?

1

Możesz zobaczyć też darmowe CRMy (SugarCRM, SuiteCRM i vTiger) i programy (abcMagazynu, Weaver WMS Lite), może coś wam podejdzie z tego.

0

bardziej opłaca wysłać się te 1000 rekordów od razu

Raczej tak. Jak sobie to umieścisz w jakimś skrypcie JS, to potem wyszukiwanie miast nie będzie obciążać serwera, ani nie będzie opóźnień związanych z odpytywaniem serwera i być może wolnym łączem. Tysiąc rekordów to będzie kilkanaście kB dodatkowego kodu, czyli ilość praktycznie nieodczuwalna. I prostsze, bo wszystko masz po stronie frontu, nie musisz żadnego AJAX'a w tym celu odpalać, wszystko się sprowadza do przeszukania tablicy z miastami/kodami pocztowymi w chwili wprowadzenia przez użytkownika jakiejś części adresu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0