Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Validacja zmiennych
Forum PHP.pl > Forum > Przedszkole
scrypt
Witam,

Jestem początkującym programistą PHP. Tworze właśnie dosyć prostą stronkę ale bardzo (tak mi się wydaje) rozbudowaną (około 10 tys linii kodu). Jest to system CRM, który ponadto zawiera własny system CMS, MLM i inne moduły. Cały projekt tworze w ramach pracy dyplomowej, której tematem jest bezpieczeństwo witryn WWW. W związku z tematem pracy chcę oczywiście zaimplementować validację zmiennych wychodzących i wchodzących z do/z formularzy/baz danych. Wspomniałem jednak, że stronka jest rozbudowana i zawiera mase formularzy, a mi bardzo zależy na czasie. Moje pytanie brzmi, więc jak sobie ułatwić pracę? Stworzyć jeden plik, w którym umieszcze wszystkie funkcje sprawdzające każda przesyłaną np. metodą POST zmienną? Czy dla kazdego formularza tworzyc oddzielne pliki? Czy w kazdym pliku tworzyc kolejnego "if-a" ktory bedzie sprawdzał poprawność wpisanych zmiennych? Po prostu szukam najłatwiejszego (najszybszego) sposobu, ktory moglbym zaimplementowac na swojej stronie, a ktory by spełniał zadanie validacji przesyłanych wewnątrz systemu zmiennych. Pozdrawiam
Hazel
Tworzysz sobie plik - "bibliotekę". W nim definiujesz funkcję o nazwie powiedzmy validate():
  1. <?php
  2. function validate($zmienna)
  3. {
  4. // instrukcje sprawdzające czy $zmienna zawiera poprawne dane
  5. // jeśli tak nie jest, funkcja może zwracać na przykład false
  6. // w przeciwnym przypadku zwraca to co pobrała, czyli poprawne dane
  7. return $zmienna;
  8. }
  9. ?>


Dołączasz taki plik za pomocą include do każdego pliku w którym potrzebujesz walidacji. I na przykład na początku każdego dopisujesz coś typu:
  1. <?php
  2. foreach ($_POST as $zmienna)
  3. {
  4. $zmienna = validate($zmienna);
  5. }
  6. ?>


Według mnie za dużo roboty nie ma z tym i uważam, że nie da się lepiej, każdy sposób jest bardziej pracochłonny.
grzegorzr
polecam artykuł "budowanie obiektów z requestu" napisany w phpsolutions 1/2007 (powiązane mocno z tematyką API Reflection)

przy dużej ilości formularzy przdałoby się zrobić automatczne narzędzia do ich szybkiego tworzenia np.:
- ich definicje trzymać w xml:
  1. <form name="form1">
  2. <object name="address.street" filedName="street" type="text" label="Ulica" />
  3. </form>

i potem to pestka biggrin.gif
- albo zrobić osobny moduł na nie jak np. w XOOPS-ie - tam formularz można "wyklikać"
- na sam koniec (z naciskiem na słowo KONIEC) dodać AJAX'owe bajery i możliwość walidacji "w locie" (dobry przykładem jest np. rejestracja po klucz do Avast! Home Edition)
- na koniec mej wypowiedzi polecam przyjrzenie się w googlach pojęciu "form php5"

przy skłonnościach anglofobowych polecam książkę "PHP. Bezpieczne programowanie"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.