Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularze, dynamiczne sprawdzanie zawartości
slimboj
post 26.05.2009, 11:39:44
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Witam,
Tworzę właśnie klasę sprawdzającą formularze w mojej aplikacji. Większość z tych formularzy różni się od siebie pewnymi elementami, np. w jednym są tylko pola <input>, w innym <input> i <textarea>.

Teraz chcę napisać metodę, która będzie sprawdzała, czy pola są puste. Generalnie jeżeli liczba pól w formularzach jest taka sama, to nie ma problemu:

Formularz:
  1. <form action="..." method="post">
  2. <input type="text" name="post_1">
  3. <input type="text" name="post_2">
  4. <input type="text" name="post_3">
  5. <button type="submit">send</button>
  6. </form>


Klasa sprawdzająca formularz:
  1. <?
  2.  
  3. class CheckForm
  4. {
  5. public function __construct()
  6.  {}
  7. public function isempty($var_1, $var_2, $var_3)
  8.  {
  9.   if(empty($var_1) || empty($var_2) || empty($var_3))
  10.    return false;
  11.   else
  12.    return true;
  13.  }
  14. }
  15.  
  16. ?>


Wywołanie:
  1. <?
  2.  
  3. $form = new CheckForm();
  4. $form -> isempty($post_1, $post_2, $post_3);
  5.  
  6. ?>


Tylko jeśli formularz będzie miał więcej pól to już takie rozwiązanie się nie sprawdzi.
Tak więc, czy jest możliwość aby do metody isempty() wrzucać dowolną liczbę zmiennych i jak sprawdzić ich poprawność.
Właśnie nie wiem do końca jak do tej metody przekazać zmienne, za pomocą tablicy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
zbig
post 26.05.2009, 11:47:57
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 30
Dołączył: 5.05.2007
Skąd: Mannheim

Ostrzeżenie: (0%)
-----


Witam !

skorzystaj z func_num_args() i func_get_arg()

http://www.php.net/manual/en/function.func-get-arg.php

na pewno pomoze smile.gif

Edit

A tu masz prawie gotowy sposob uzywajacy func_get_args ( )

Pozdrawiam

Ten post edytował zbig 26.05.2009, 11:57:51


--------------------
Flash Flex PHP JAVA RED5 http://www.easyweb24.net
Go to the top of the page
+Quote Post
slimboj
post 26.05.2009, 12:14:03
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Dziękować smile.gif
Go to the top of the page
+Quote Post
pgrzelka
post 26.05.2009, 12:23:15
Post #4





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Kod
<input type="text" name="post[]">
<input type="text" name="post[]">
<input type="text" name="post[]">


tak to będzie wyglądać po wysłaniu
$_POST['post'] = array(0 => '', 1=> '', 2=>'');


--------------------
Go to the top of the page
+Quote Post
slimboj
post 26.05.2009, 12:48:00
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.01.2008

Ostrzeżenie: (0%)
-----


Racja, ale jeśli name będzie miało inną wartość, np:
  1. <input type="text" name="login">
  2. <input type="text" name="pass">
  3. <input type="text" name="c_pass">

To będzie nieco gorzej.

Chyba, że tak:
  1. <input type="text" name="post['login']">
  2. <input type="text" name="post['pass']">
  3. <input type="text" name="post['c_pass']">
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:54