Hướng dẫn dùng dataform trong PHP

Hướng dẫn dùng dataform trong PHP

Trong bài học này, chúng ta sẽ tìm hiểu xử lý form và gửi dữ liệu trong PHP bằng cách sử dụng các biến siêu toàn cục REQUEST, POST, GET.

  • Bài 10: Video xử lý form và gửi dữ liệu trong PHP
  • Hướng dẫn chi tiết
    • $GET
    • $POST
    • $REQUEST

Bài 10: Video xử lý form và gửi dữ liệu trong PHP

Hướng dẫn chi tiết

"Ra đời, cuộc sống bươm chải, có làm vẫn không có ăn" nên phải gắn QUẢNG CÁO

Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn

$GET

Một mảng kết hợp của các biến được truyền cho tập lệnh hiện tại thông qua các tham số URL (còn gọi là chuỗi truy vấn). Lưu ý rằng mảng không chỉ được điền cho các yêu cầu GET, mà là cho tất cả các yêu cầu có chuỗi truy vấn.

GET không thể được sử dụng để gửi dữ liệu nhị phân, như hình ảnh hoặc tài liệu từ, đến máy chủ.

Gửi dữ liệu bằng tham số trên đường dẫn

Link demo

Nhận dữ liệu bằng cách truy cập vào biến $_GET trong file bai10-1.php trong cùng thư mục nhé.

"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo"

Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn
if(isset($_GET['id'])){
   $bien = $_GET['id']; 
   echo $bien;
}

$POST

Phương thức POST là hình thức client gửi dữ liệu lên server kèm theo dữ liệu và dữ liệu sẽ bị ẩn chứ không hiển thị trên URL như phương thức GET.

Gửi dữ liệu bằng form phương thức POST

Nhận dữ liệu từ form, trong file bai10-2.php, chúng ta nên dùng isset để kiểm tra dữ liệu tồn tại hay chưa để tránh lỗi xảy ra. Sau dó, nhận giá trị từ form bằng $_POST[‘name của input’];

if (isset($_POST['username'])) {
    $name = $_POST['username'];
    echo $name;
}

$REQUEST

Một mảng kết hợp theo mặc định chứa nội dung của $ _GET, $ _POST và $ _COOKIE. Trong ví dụ bên dưới, mình sẽ ví dụ 1 trường hợp dùng $_REQUEST thay cho $ _POST nhé.

Ví dụ trên mình về GET và POST dùng hàm isset, còn bên dưới là ví dụ từ w3school dùng empty để kiểm tra. Để biết isset và empty khác nhau như thế nào, các bạn có thể tham khảo.

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Nhận dữ liệu từ form là một trong những công việc quan trọng trong lập trình web động. Chúng ta tạo ra những vùng để người xem web nhập thông tin vào (form), để rồi khi họ gửi lên server, các thông tin đó chúng ta sẽ tiếp nhận để xử lý.

Trong mỗi website, bạn sẽ tạo rất nhiều form để nhập liệu, như form login, form đăng ký thành viên, form đổi mật khẩu, form quên mật khẩu, form thêm hàng…

Trong form cũng có nhiều loại control khác nhau như textfield, checkbox, radio, file, select… cho nên để nhận dữ liệu từ form thì bạn cần biết qua một số thông tin sau:

Method của form html

Mỗi form có hai cách (method) gửi dữ liệu lên server, đó là post và get. Nếu form có method là post thì trong trang php bạn sử dụng $_POST để lấy dữ liệu, còn nếu form có method là get thì bạn sử dụng $_GET để lấy dữ liệu.

...
...

Trong trang web, bạn có thể tạo nhiều form (nếu muốn). Mỗi form là một vùng để người xem web nhập thông tin của mình vào và gửi lên server. Vậy trang nào trên server sẽ nhận dữ liệu? Hay nói cách khác là form sẽ gửi dữ liệu lên đâu trên server? Trả lời: form sẽ gửi dữ liệu lên file có địa chỉ bạn ghi trong thuộc tính action. Xem trong đoạn code trên, đó là trang xuly.php. Code tiếp nhận dữ liệu ($_POST, $_GET) bạn sẽ viết trong file này.

Khi nào thì dữ liệu được gửi từ form lên server?

Trong mỗi form html, phải có ít nhất một nút đóng vai trò submit. Nút đó bạn có thể tạo bằng ba cách. Đại khái code như sau:

 

 

Khi người xem web nhắp nút submit, dữ liệu trong form sẽ được gửi lên server

Ví dụ tạo 1 form đăng ký như sau

Hướng dẫn dùng dataform trong PHP

Code html:

ĐĂNG KÝ THÀNH VIÊN

Nhận dữ liệu trong các text control

Tag html cho các control có type là text, hidden, password,

 


    

Code php nhận dữ liệu từ form với method get

Code php nhận dữ liệu từ form với method post

Nhận dữ liệu radio

Code html:

  
 

Các radio có name giống nhau được xem như cùng một nhóm. Người xem phải chọn 1 mục thì trong nhóm thì giá trị của mục đó sẽ được gửi lên server khi submit. Nếu không có mục nào được chọn thì không có giá trị nào trong nhóm được gửi lên.

Code php nhận dữ liệu (form có method là Get)

$phai = $_GET['phai']; 

Code php nhận dữ liệu (form có method là post)

$phai = $_POST['phai']; 

Nhận dữ liệu checkbox

Code html:


 Nhìn mưa rơi 
 Nghe chim hót 
 Ngắm mây bay 
 Uống trà
 Vuốt râu

Mã lệnh PHP lấy dữ liệu với method POST

$nhinmuaroi = isset($_POST['st1']);
$nghechimhot= isset($_POST['st2']);
$ngammaybay = isset($_POST['st3']);
Hướng dẫn dùng dataform trong PHP

Nếu tên các checkbox giồng nhau và tận cùng là [] thì chúng được hiểu như 1 mảng. Chúng sẽ được lưu chung vào 1 mảng và bạn có thể lặp qua chúng để sử dụng. Ví dụ:


 Nhìn mưa rơi
 Nghe chim hót 
 Ngắm mây bay
 Uống trà
 Vuốt râu
Hướng dẫn dùng dataform trong PHP

Nhận dữ liệu từ select box

Selectbox hay dropdown list là danh sách thả xuống các mục để người xem web chọn. HTML là tag select với mỗi mục là tag option. Mỗi option có text và value

Hướng dẫn dùng dataform trong PHP

Code php tiếp nhận dữ liệu (method của form là post)

Nhận dữ liệu textarea

Textarea là control cho phép user nhập nhiều hàng chữ, khi submit , bạn có thể dùng code php nhận các dòng chữ user gõ để sử dụng.

Code php tiếp nhận (form có method post)

Trong textarea , mỗi lần người nhập gõ 1 phím enter thì 1 ký tự xuống hàng được tạo ra (không phải tag br nhé) . Đến khi họ submit thì các ký tự xuống hàng cũng được gửi lên theo. Trong mã lệnh php, bạn có thể dùng hàm nl2br để chuyển các kứ tự xuống hàng này thành tag

Hướng dẫn dùng dataform trong PHP

Các bài tham khảo thêm các bài lập trình php , Ôn tập database