RkBlog

Hardware, programming and astronomy tutorials and reviews.

Formularze w CI

Stosowanie pomocnika "form" do obsługi formularzy.

Formularze można tworzyć ręcznie lub co lepsze, z pomocą pomocnika Code Ignitera. Pomocnik nazywa się "form" i można go ładować automatycznie lub w miejscach nam potrzebnych za pomocą polecenia:
$this->load->helper('form');

Przegląd API

Otwarcie Formularza
form_open('kontroler/metoda')
Zwraca tag form z akcją ustawioną na podany link. Dodatkowo jako drugi parametr można przekazać tablicę asocjacyjną, która podane wartości klucz => wartość do taga:
<?php
$attributes = array('class' => 'email', 'id' => 'myform');
echo form_open('email/send', $attributes);

// Wynik:
<form method="post" action="http://localhost/html/ci/index.php/email/send" class="email" id="myform">
Funkcja
form_open_multipart()
Różny się tylko tym że umożliwia ładowanie plików.
Pola ukryte
form_hidden('nazwa', 'wartość');
Zwróci kod pola ukrytego z podanymi danymi
Pole Input/text
form_input('nazwa', 'wartość')
Można także zastosować tablicę:
<?php
$data = array(
               'name'        => 'username',
               'id'          => 'username',
               'value'       => 'johndoe',
               'maxlength'   => '100',
               'size'        => '50',
               'style'       => 'width:50%',
             );
echo form_input($data);

// wynik:
 <input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" />
Jeżeli chcemy dodać np. wywołania kodu JS to wystarczy podać je jako trzeci argument:
<?php

$js = 'onclick="funkcja();"';
form_input('nazwa', 'wartość', $js);
Inne pola "input"
form_password() // input password
form_upload() // input file - ładowanie plików
form_textarea() // textarea
Korzysta się z nich tak samo jak z form_input
Lista Select / SelectBox
$options = array(
                   'small'  => 'Small Shirt',
                   'med'    => 'Medium Shirt',
                   'large'   => 'Large Shirt',
                   'xlarge' => 'Extra Large Shirt',
                 );
 
echo form_dropdown('nazwa', $options);
Wynik:
<select name="nazwa">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select></div>

Checkbox
form_checkbox('nazwa', 'wartość')
Co zwróci kod checkboxa. By był zaznaczony, jako trzeci parametr wystarczy ustawić wartość logiczną True.
Radio
form_radio('nazwa', 'wartość')
Obsługa taka sama jak checkboxa.
Przycisk Submit
form_submit('nazwa', 'wartość')
Zwraca kod przycisku submit, gdzie "wartość" to tekst jaki pokaże się na przycisku.
Zakończenie formularza
form_close()
Co zwróci tag /form. Można jako argument przekazać łańcuch - zostanie od dodany za tagiem zamykającym formularz.

Jak w kontrolerze dostać się do danych z wysłanego formularza?

Wystarczy skorzystać z metody:
$this->input->post('nazwa Pola');
Która zwróci wartość z danego pola. Pełen przykład czeka nas w Warsztacie.
RkBlog

14 July 2008;

Comment article