Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: walidacja danych z formularza html
Forum PHP.pl > Forum > PHP
czechu5
mam prosty formularz w html dzieki ktoremu mozliwe jest wyszukiwanie w bazie sqlite.
wszystko dziala ok , poza tym ze kiedy wszystkie pola pozostawie puste i klikne "szukaj" to
wyswietla mi cala zawartosc bazy.
chce zrobic walidacje formularza , ale w taki soposob zeby przy wszystkich polach pustych
pokazywal komunkat "wypelnij przynajmniej jedno pole"
przynajmniej jedno pole wymagane. obojetnie ktore.

to kod php

  1. <?php
  2. if (isset($_GET['first']) && empty($_GET['first']) === false) {
  3. $first = sqlite_escape_string(trim($_GET['first']));
  4. }
  5. if (isset($_GET['last']) && empty($_GET['last']) === false) {
  6. $last = sqlite_escape_string(trim($_GET['last']));
  7. }
  8. if (isset($_GET['spec']) && empty($_GET['spec']) === false) {
  9. $spec = sqlite_escape_string(trim($_GET['spec']));
  10. }
  11. if (isset($_GET['genre']) && empty($_GET['genre']) === false) {
  12. $genre = sqlite_escape_string(trim($_GET['genre']));
  13. }
  14.  
  15.  
  16. $baza = 'data.sdb';  
  17. $db = sqlite_open($baza)
  18. or die('databese connection error!');
  19. ?>
Prym
hm
to najprościej przed wysłaniem javascriptem sprawdź czy pola nie są puste (w <form dodaj onsubmit="return Sprawdz()"
i oczywiście dorób funkcję JS sprawdzająca poszczególne pola najlepiej jak odrazu będzie wyświetlać JS które pole do poprawki (czyli cos ala ajax podmiana zawartości obiektu - innerHTML

a jeśli to ma być w php to proponuje dodać przed if'ami pustą zmienną i do każdego if'a dodać zmianę tej zmiennej. przed wywołaniem zapytania bazy dać ifa że jeśli zmienna niepusta to wykonaj zapytanie jak nie to tekst ....
powinno wystarczyć dla validacji formularza "wypelnij przynajmniej jedno pole"

w przypadku większej ilości musisz się pobawić warunkami.
jezoo
sprawdz tak:
  1. <?php
  2. if (isset($_GET['first']) && !empty($_GET['first']) && !empty($_GET['first'])){
  3. //dalsza czesc kodu
  4. }
  5. ?>

i tak dalej smile.gif
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.