Cách tạo form xử lý bằng class trong php

Làm việc với form trong php gồm các vấn đề: sử dụng $_GET, $_POST ; hiện lại giá trị ; kiểm tra dữ liệu và hiện lỗi ; xử lý file upload; ứng dụng của method get … Đậy là bài viết bổ trợ cho video ở cuối, các em hãy xem video trước nhé.


$_GET và $_POST

  • $_GET: là array trong PHP dùng để chứa các tham số trong url
  • $_POST: là array trong PHP dùng để chứa các giá trị trong form POST
  • Để xem cấu trúc 2 array này: dùng lệnh print_r. Ví dụ:
    
    
  • Lấy ra 1 giá trị trong $_GET, $_POST,  dùng $_POST[‘key’]  , $_GET[‘key’] . Ví dụ:

Tạo form

a. Tạo trang formThemSP.php và code:


Lấy dữ liệu khi submit


Hiện lại giá trị trong form

  • Khi submit, trang web sẽ nạp lại, dẫn đến các giá trị user đã gõ trong các control sẽ bị mất. cho nên cần phải hiện lại.
  • Hiện  giá trị cho các control trong form bằng cách gán giá trị trong thuộc tính value . Ví dụ:
value=""  id="tensp" name="tensp" type="text" class="form-control">

Hiện các lỗi

  • Việc kiểm tra dữ liệu trong form có thể có một số lỗi cần thông báo
";
    if (strlen($tensp)>20)  $loi.="Tên sản phẩm dài quá
"; if (strlen($gia)<0) $loi.="Giá phải >0
"; …

Để hiện lỗi, ở đầu form nếu thấy biến lỗi có giá trị thì hiện ra

  
    

Xử lý dữ liệu kiểu file

Nhận thông tin của file qua $_FILES[‘nameCủaControl’].  Ví dụ

$h = $_FILES['hinh'];

// $h = Array ( [name] => bg cam.jpg [type] => image/jpeg [tmp_name] => E:\xampp\tmp\phpC11.tmp [error] => 0 [size] => 29342 )

$h là mảng gồm 5 phần tử : name, size, type , tmp_name , error. Trong đó

  • name:là tên của file hình mà user đã submit
  • size: kích thước của file
  • type: kiểu data trong file được submit
  • tmp_name: đường path file đã được lưu trong folder tmp
  • error: cho biết có lỗi không.

Lưu file submit bằng cách di chuyển từ vị trí lưu tạm đến chỗ mới bằng lệnh move_uploaded_file($tmp_name, $newPath);

 $tmp_name= $h['tmp_name'];
 $name= $h['name'];    
 $newPath="khoMedia/" . $name;
 move_uploaded_file($tmp_name, $newPath);

Xử lý submit ở file khác

Địa chỉ file khác khai báo trong thuộc tính action của form

Form có method là GET

  • Ít khi dùng hơn post
  • Chỉ dùng method get khi thật sự cần , đó là khi cần đưa các biến trong form lên địa chỉ giúp user mà không cần user nhập các biến
  • Ví dụ 1: trang tin trong loại với tham số idLT. => Chọn trong select  1 loại tin rồi submit để hiện tin trong loại

demoGET1.php

query($sql);
?>
 $row) {?>
    

Đăng: - Xem

Hiện form loại tin

query("SELECT idLT, Ten  FROM loaitin");?>

Ví dụ 2: có trang tin theo từ khóa với tham số tukhoa. è gõ từ khóa trong form rồi submit để hiện tin chứa từ khóa (bài toán tìm kiếm)

demoGET2.php

query($sql);
?>
 $row) {?>
    

Đăng: - Xem

Form tìm kiếm với method get được dùng để đưa từ khóa lên url

Database thaylongweb_tintuc


Các vấn đề khi làm việc với form trong php cơ bản như trình bày ở trên, vẫn còn một vài đấn đề khác thầy sẽ trình bày sau.

Chi tiết các hướng dẫn ở trên mời em xem video nhé.