Lớp biểu mẫu cung cấp tùy chọn để tạo tất cả các phần tử biểu mẫu HTML.
Fieldset class cung cấp một tùy chọn để tạo phần tử html thông qua các phương thức mức cao hơn, tích hợp các mô hình và xác nhận hợp lệ.
Lớp đầu vào cung cấp một tùy chọn để phân tích cú pháp dữ liệu được gửi qua các biểu mẫu html cũng như các tham số http, các biến máy chủ và các tác nhân người dùng.
Trong chương này, chúng ta hãy học lập trình Form trong PHP.
Hình thức
Như đã thảo luận ở trên, lớp Form cung cấp các phương thức để tạo các phần tử biểu mẫu html và các phương thức quan trọng như sau:mở()
open () được sử dụng để tạo một biểu mẫu mới. Nó cung cấp hai tham số sau đây -
$ attribute - thuộc tính của thẻ biểu mẫu dưới dạng mảng hoặc chỉ là URL hành động dưới dạng chuỗi.
$ hidden - mảng của tên trường ẩn và giá trị của chúng.
echo Form::open('/employee/add'); echo Form::open(array('action' => '/employee/add', 'method' => 'post'));
gần()
close () chỉ cần đóng biểu mẫu.echo Form::close();
đầu vào()
input () tạo phần tử đầu vào html. Nó có ba thông số sau,$ field - tên của phần tử đầu vào
$ value - giá trị của phần tử đầu vào
$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::input('name', 'jon', array('style' => 'border: 20px;'));
yếu tố nhãn
nhãn tạo phần tử nhãn html. Nó có ba thông số sau,$ label - nhãn để hiển thị
Id phần tử biểu mẫu id được liên kết
$ thuộc tính - thuộc tính của phần tử nhãn làm mảng
echo Form::label('Employee Name', 'employee_name');
ẩn
ẩn tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành ẩn.mật khẩu
mật khẩu tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành mật khẩu.
radio
radio tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành radio. Nó có bốn thông số sau,
$ field - tên của phần tử đầu vào
$ value - giá trị của phần tử đầu vào
$ checked - cho dù mục được kiểm tra hay không (đúng / sai)
$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::label('Male', 'gender'); echo Form::radio('gender', 'Male', true); echo Form::label('Female', 'gender'); echo Form::radio('gender', 'Female');
hộp kiểm
PHP hộp kiểm tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành hộp kiểm. Nó có bốn thông số sau,$ field - tên của phần tử đầu vào
$ value - giá trị của phần tử đầu vào
$ checked - cho dù mục được kiểm tra hay không (đúng / sai)
$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::label('Male', 'gender'); echo Form::checkbox('gender', 'Male', true); echo Form::label('Female', 'gender'); echo Form::checkbox('gender', 'Female');
tập tin
PHP tệp tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành tệp.textarea
textarea tạo phần tử textarea html. Nó có ba thông số sau,
$ field - tên của phần tử textarea
$ value - giá trị của phần tử textarea
$ attribute - thuộc tính của phần tử textarea dưới dạng mảng
echo Form::textarea ('description', 'original data (value)', array ('rows' => 6, 'cols' => 8));
lựa chọn
PHP chọn tạo phần tử chọn HTML. Nó có bốn tham số sau đây -$ field - tên của phần tử select
$ values - giá trị lựa chọn ban đầu
$ tùy chọn - tùy chọn dưới dạng mảng. Các tùy chọn có thể được nhóm lại bằng cách sử dụng mảng lồng nhau
$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::select ( 'country', 'none', array ( 'none' => 'None', 'asia' => array ( 'in' > 'India', 'cn' => 'China' ), 'us' => 'United States' ) );
Gửi đi
PHP gửi tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào để gửi.nút
nút tạo phần tử nút html. Nó có ba thông số sau,
$ field - tên của phần tử nút
$ value - giá trị của phần tử nút
$ thuộc tính - thuộc tính của phần tử nút dưới dạng mảng
echo Form::button('emp_submit', 'Submit');
cài lại
PHP thiết lập lại tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào để đặt lại.fieldset_open
fieldset_open tạo tập hợp trường html và phần tử chú giải. Nó có hai tham số sau đây -
thuộc tính - thuộc tính của phần tử fieldset dưới dạng mảng
huyền thoại - tên của truyền thuyết để tạo
// returns <fieldset class = "example-class" id = "example-id"> <legend> Custom Legend </legend> echo Form::fieldset_open (array ( 'class' => 'example-class', 'id' => 'exampleid', 'legend' => 'Custom Legend' ));
fieldset_close
PHP fieldset_close tạo thẻ đóng của trường HTML.// returns </fieldset> echo Form::fieldset_close();
Lớp đầu vào
PHP Lớp đầu vào cung cấp các phương thức để đọc tất cả dữ liệu yêu cầu cùng với các chi tiết biểu mẫu. Một số phương pháp quan trọng như sau:uri
uri trả về URI hiện tại của yêu cầu
// request: http://localhost:8080/employee/welcome echo Input::uri(); // return /employee/welcome
phương pháp
PHP phương thức trả về phương thức HTTP được sử dụng trong yêu cầuecho Input::method() // "POST"
được
PHP được phép đọc các biến $ _GET. Nó có hai tham số sau,$ index - chỉ mục của mảng $ _GET
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::get('age', '20'); // returns $_GET['age']
bài đăng
PHP bài cho phép đọc các biến $ _POST. Nó có hai tham số sau,$ index - chỉ mục của mảng $ _POST
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục
echo Input::get('age', '20'); // returns $_POST['age']
param
PHP param cho phép tìm nạp mục từ các biến $ _GET, $ _POST, $ _PUT hoặc $ _DELETE. Nó có hai tham số sau,$ index - chỉ mục của mảng
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục
Nếu không có tham số nào được chỉ định, nó sẽ trả về tất cả các mục.
echo Input::param('age', '20'); // returns $_POST['age']
tập tin
PHP tệp cho phép đọc biến $ _FILE. Nó có hai tham số sau,$ index - chỉ mục của mảng $ _POST
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục
echo Input::file();
is_ajax
PHP is_ajax trả về true, nếu yêu cầu được thực hiện thông qua AJAX.echo Input::is_ajax() // return false
giao thức
PHP giao thức trả về giao thức HTTP được sử dụng trong yêu cầu.echo Input::protocol() // returns "HTTP"
ip
PHP ip trả về địa chỉ IP mà yêu cầu được thực hiện.echo Input::ip() // returns "84.45.34.24" (Public IP Address)real_ip
PHP real_ip cố gắng trả về địa chỉ IP thực (nếu máy khách đứng sau proxy) thông qua đó yêu cầu được thực hiện.
echo Input::real_ip() // returns "10.76.12.1" (local private IP Address)
máy chủ
PHP máy chủ cho phép đọc các biến $ _SERVER. Nó có hai tham số sau,$ index - chỉ mục của mảng $ _POST
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::server('HTTP_HOST'); // returns localhost:8080
người giới thiệu
PHP liên kết giới thiệu trả về liên kết giới thiệu từ biến $ _SERVER. Nó là một phương thức tắt để nhận được http referrer của yêu cầu hiện tại.đại lý người dùng
user_agent trả về tác nhân người dùng từ biến $ _SERVER. Đó là một phương thức tắt để có được tác nhân người dùng http của yêu cầu hiện tại.
chuỗi truy vấn
query_string trả về chuỗi truy vấn từ biến $ _SERVER. Đó là một phương thức tắt để nhận chuỗi truy vấn của yêu cầu hiện tại.
tiêu đề
tiêu đề trả lại tiêu đề cụ thể hoặc tất cả các tiêu đề. Nó có hai tham số sau đây -
$ index - tên của các tiêu đề HTTP
$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::headers('Content-Type'); // returns "text/html"
sự mở rộng
PHP mở rộng trả về phần mở rộng URI của yêu cầu hiện tại.// Example URL: http://localhost/test/ echo Input::extension(); // NULL // Example URL: http://localhost/test.html echo Input::extension(); // 'html'
Ví dụ làm việc
PHP Hãy tạo một biểu mẫu đơn giản để thêm nhân viên mới sử dụng lớp Form và Input.Tạo biểu mẫu
Tạo hành động mới, get_add trong trình điều khiển nhân viên như sau.
public function get_add() { return Response::forge(View::forge('employee/add')); }Bây giờ, hãy thêm chế độ xem cho hành động, nhiên liệu / ứng dụng / lượt xem / nhân viên / add.php như sau.
<!DOCTYPE html> <html lang = "en"> <head> <title>Employee :: add page</title> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <?php echo Asset::css('bootstrap.css'); ?> </head> <body> <div class = "container"> <?php echo Form::open(array('action' => 'employee/add', 'method' => 'post')); ?> <div class = "form-group"> <?php echo Form::label('Employee name:', 'name'); echo Form::input('name', '', array('class' => 'form-control')); ?> </div> <div class = "form-group"> <?php echo Form::label('Employee age:', 'age'); echo Form::input('age', '', array('class' => 'form-control')); ?> </div> <?php echo Form::button('frmbutton', 'Submit', array( 'class' => 'btn btn-default')); ?> <?php echo Form::close(); ?> </div> </body> </html>Ở đây, chúng tôi đã sử dụng bootstrap để thiết kế biểu mẫu. PHP cung cấp hỗ trợ đầy đủ cho các thành phần bootstrap. Bây giờ, yêu cầu trang, http: // localhost: 8080 / employee / add sẽ hiển thị biểu mẫu sau.
![]() |
| ảnh minh họa |
Biểu mẫu quy trình
Tạo hành động mới, post_add để xử lý biểu mẫu và thêm dữ liệu nhân viên do người dùng nhập vào cơ sở dữ liệu trong trình điều khiển nhân viên như sau.public function post_add() { $name = Input::post('name'); $age = Input::post('age'); $model = new model_employee(); $model->name = $name; $model->age = $age; $model->save(); Response::redirect('employee/list'); }Ở đây, chúng tôi đã được chuyển hướng đến trang danh sách nhân viên, khi người dùng nhập dữ liệu được lưu vào cơ sở dữ liệu. Tiếp theo, chúng ta sẽ tạo trang danh sách nhân viên.
Danh sách nhân viên
Tạo hành động mới, action_list để liệt kê nhân viên trong cơ sở dữ liệu như sau.public function action_list() { $data = array(); $data['emps'] = model_employee::find('all'); return Response::forge(view::forge('employee/list', $data)); }Tạo chế độ xem mới, nhiên liệu / ứng dụng / lượt xem / nhân viên / danh sách cho hành động trên như sau.
<ul> <?php foreach($emps as $emp) { ?> <li><?php echo $emp['name']; ?></li> <?php } ?> </ul>
Kiểm tra biểu mẫu
Bây giờ, yêu cầu URL, http: // localhost: 8080 / employee / add , nhập một số dữ liệu nhân viên như được hiển thị trong ảnh chụp màn hình sau và gửi biểu mẫu.![]() |
| ảnh minh họa |
![]() |
| ảnh minh họa |



Không có nhận xét nào:
Đăng nhận xét