Aproape toate cadrele implementează o lucrare foarte convenabilă cu formularele, ceea ce ușurează validarea datelor de intrare. Și dacă proiectul nu este atât de mare pentru a utiliza întregul cadru, dar totuși doriți să verificați formularul pentru introducerea datelor. Astăzi vreau să arăt cum despre php puteți scrie o clasă destul de universală de validare a datelor.
Și astfel, problema este următoarea: este necesar să se verifice coerența datelor introduse în formular prin anumite reguli. În cazul unor erori, postați mesaje de eroare, precum și asigurați siguranța datelor în formular. Procesarea formularului și generarea codului său trebuie să apară în diferite scripturi, deci trebuie să utilizați sesiunea.
În primul rând, vom scrie un os al formei, pe care vom efectua experimente:
Pentru a ne rezolva problema, voi scrie o clasă simplă. Esența muncii sale este următoarea: pentru a asigura verificarea conformității cu valorile introduse sub forma unor reguli, salvați mesajele de eroare de sesiune, salva datele deja introduse, astfel încât utilizatorii nu trebuie să reintroduceți datele pe care le-a introdus adevărat. Pentru comoditatea fiecărui formular, îi atribuim un nume. Deoarece nu știm în prealabil cum să verificăm câmpul de formă, folosim cel mai puternic instrument disponibil în tipul de date php callable.
Salvați codul acestei clase în form.php. Acum definim clasa derivată, care va reprezenta deja forma noastră. Să o numim UserForm. Deoarece această clasă va fi utilizată în două fișiere -
în scriptul de generare a formei și în scriptul de verificare a valorilor introduse, îl vom scrie într-un fișier separat, de exemplu, user_form.php.
Salvați acest cod într-un fișier numit, de exemplu, user.php. Acum scrieți codul pentru fișierul process.php. Datorită faptului că majoritatea muncii pe care am făcut-o deja, va fi destul de simplă:
În concluzie, scrieți ultimul fișier al aplicației noastre mici, hello.php. În acest caz, este destul de simplu:
Notă: o parte semnificativă a funcționalității clasei Form este implementată de funcția standard php filter_input_array. dar această clasă, în plus față de controlul efectiv al datelor, implementează, de asemenea, rezultatul erorilor și salvarea informațiilor introduse în sesiune.