Czy nie znudziło Ci się ręczne tworzenie input'ów? Na pewno. Właśnie dla tego, dzisiaj postanowiłem napisać klasę, która będzie robić to za Ciebie Teraz stworzenie formularza z dużą liczbą pól to pestka ;p
Więc zacznijmy omawiać od początku:
<?php /* * Klasa do obsługi formularzy * Jesli chcesz możesz korzystać do woli, ale ten komentarz musi zostać * Autor: Abel kin94@o2.pl * */ class Forms { // $Name -> Nazwa formularza // $Action -> URL, do którego ma prowadzić formularz // $Method -> Metoda przesyłanych danych (get lub post) // $UpLoad -> TRUE - dla uploadu; FLASE - dla zwykłych danych (domyslnie FALSE) public function open($Name = '', $Action = '', $Method = 'post', $UpLoad = FALSE) {// Otwieranie formularza if($UpLoad == TRUE) { echo ' <form name="'.$Name.'" enctype="multipart/form-data" action="'.$Action.'" method="'.$Method.'">'; } else { echo ' <form name="'.$Name.'" action="'.$Action.'" method="'.$Method.'">'; }
Mamy tu przedstawioną funkcję open(), która tworzy szkielet formularza. Przekazujemy do niej 4 parametry. $Name czyli nazwa formularza, $Action strona lub plik gdzie zostanie wykonany formularz, $Method czyli metoda jaką będziemy przesyłać dane. Domyślnie jest to "post". Został nam jeszcze jeden parametr $UpLoad, a mianowicie czy w danym formularzy zamierzamy przesyłać plik. Jeśli tak ustawiamy "TRUE" w przeciwnym wypadku opuszczamy ten parametr, ponieważ domyślnie jest ustawiony na "FALSE".
Sposób użycia:
<?php include('forms.php'); $form = new Forms(); $form->open('nazwaFormularza', 'index.php', 'post'); ?>
Funkcja poniżej jest odpowiedzialna za zamknięcie naszego formularza czyli wstawienie "</form>" i nie wymaga żadnych parametrów.
public function close() {//Zamykanie formularza echo '</form> '; }//end close();
Sposób użycia:
<?php include('forms.php'); $form = new Forms(); $form->close(); ?>
Teraz musimy stworzyć funkcje które będą odpowiedzialne za wyświetlanie pól. Nie będę omawiał wszystkich, ponieważ większość z nich bazuje na jednej, która się prawie w całości powtarza Więc do dzieła.
public function input_text($Name = '', $Value = '', $Params = '') {// Wstawianie <input type="text" name="" value="" /> if(!empty($Params)) { echo ' <input type="text" name="'.$Name.'" value="'.$Value.'" '.$Params.'/>'; } else { echo ' <input type="text" name="'.$Name.'" value="'.$Value.'" />'; } }//end input_text();
Jest to funkcja odpowiedzialna za wyświetlenie najzwyklejszego pola, do którego możemy wpisać tekst. Ma ona 3 parametry. $Name - nazwa pola, $Value - wartość, $Params - dodatkowe parametry.
if(!empty($Params)) { echo ' <input type="text" name="'.$Name.'" value="'.$Value.'" '.$Params.'/>'; } else { echo ' <input type="text" name="'.$Name.'" value="'.$Value.'" />'; }
Jeśli zmienna Params nie jest pusta to znaczy, że musimy do kodu naszego input'a dorzucić jej zawartość w przeciwnym wypadku wyświetlamy input bez dodatkowych parametrów.
Sposób użycia:
<?php include('forms.php'); $form = new Forms(); $form->input_text('nazwaPola', 'Wartość', 'class="mojaklasa"'); ?>
Tym razem zajmiemy się funkcją, która z elementów tablicy tworzy pola typu "checkbox".
public function input_checkboxs($Dat = array()) {//Wstawianie wielu checkbox'ow z tablicy $DatNumber = count($Dat); foreach($Dat as $ID => $val) { if(!empty($val[params])) { echo ' <input type="checkbox" name="'.$val[name].'" value="'.$val[value].'" '.$val[params].' />'; } else { echo ' <input type="checkbox" name="'.$val[name].'" value="'.$val[value].'" />'; } } }//end input_checkboxs();
Ta funkcja posiada jeden parametr $Dat, który jest tablicą. Zmienna $DatNumber przechowuje liczbę pól jakie chcemy stworzyć, a potem w pętli odczytujemy zawartość poszczególnych pól tablicy i wyświetlamy gotowy kod input'a. Czyż to nie jest proste?
Sposób użycia:
<?php include('forms.php'); $form = new Forms(); $dat[0]['name'] = 'zainteresowania'; $dat[0]['value'] = 'Sport'; $dat[1]['name'] = 'zainteresowania'; $dat[1]['value'] = 'Gry'; $dat[2]['name'] = 'zainteresowania'; $dat[2]['value'] = 'IT'; $form->input_checkboxst($dat); ?>
public function input_select($Name = '', $Dat = array(), $Params = '') {//Wstawianie pola select ( <select name="" size="">"OPCJE"</select> ) $DatNumber = count($Dat); if(!empty($Params)) { echo ' <select name="'.$Name.'" '.$Params.'>'; } else { echo ' <select name="'.$Name.'">'; } foreach($Dat as $ID => $val) { echo '<option value="'.$val[value].'"/>'.$val[text].'</option>'; } echo '</select> '; }//end input_select();
Powyższy kod jest odpowiedzialny za stworzenie listy wyboru. Do funkcji przekazujemy 3 parametry. Pierwszy $Name - nazwa listy, $Dat - tablica z opcjami oraz opcjonalnie $Params czyli dodatkowe parametry dla listy, np.: "class="input".
Sposób użycia:
<?php include('forms.php'); $form = new Forms(); $dat[0]['value'] = 'mezczyzna'; $dat[0]['text'] = 'Mężczyzna'; $dat[1]['value'] = 'kobieta'; $dat[1]['text'] = 'Kobieta'; $form->input_select('plec', $dat); ?>
Mam nadzieję, że przydał Ci się mój artykuł
Cały kod, spis wszystkich funkcji oraz link do pobrania na www.abel.go.pl