Hướng dẫn php parse form-data - php phân tích dữ liệu biểu mẫu

Hướng dẫn php parse form-data - php phân tích dữ liệu biểu mẫu

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

<a href="bai10-1.php?id=123">Link demo</a>

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

<form method="post" action="bai10-2.php">
  <input type="text" name="username"/>
  <input type="submit"/>
</form>

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.

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  <input type="text" name="username"/>
  <input type="submit"/>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['username'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

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.comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Trong bài này, chúng ta sẽ tìm hiểu về cách upload file lên web server trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.cách upload file lên web server trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.cách upload file lên web server trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Nội dung chính

  • 1. Tạo html form để upload file
  • 2.1. Cấu hình upload file trong php.ini
  • 2.2. Xử lý upload file với PHP
  • 2.3. Lọc (filter) các file được upload
  • 3. Xử lý upload nhiều file với PHP

1. Tạo html form để upload file

2.1. Cấu hình upload file trong php.ini

"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
8.

<!DOCTYPE html>
<html>
<head>
  <title>Upload file to gochocit.com!</title>
</head>

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
  <b>Select a file to upload:</b>
  <br>
  <input type="file" name="fileUpload" id="fileUpload">
  <br><br>
  <input type="submit" value="Upload" name="submit">
</form>

</body>
</html>

2.2. Xử lý upload file với PHP

2.3. Lọc (filter) các file được upload0. Với thuộc tính này, html form cho phép chúng ta upload file lên web server. Thẻ với type=”file” cho phép chúng ta chọn đường dẫn của file cần upload. Sau khi nhấn nút Upload thì dữ liệu trong html form sẽ được gửi đến file upload.php để xử lý.

2.1. Cấu hình upload file trong php.ini

2.2. Xử lý upload file với PHPphp.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.

file_uploads = On

2.2. Xử lý upload file với PHP

2.3. Lọc (filter) các file được uploadupload.php để xử lý file được upload.

<a href="bai10-1.php?id=123">Link demo</a>
0

3. Xử lý upload nhiều file với PHP

2.1. Cấu hình upload file trong php.ini
"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
8.1. Giả sử, chúng ta upload file gochocit.txt như hình bên dưới.

file_uploads = On
0. Với thuộc tính này, html form cho phép chúng ta upload file lên web server. Thẻ với type=”file” cho phép chúng ta chọn đường dẫn của file cần upload. Sau khi nhấn nút Upload thì dữ liệu trong html form sẽ được gửi đến file upload.php để xử lý.$_FILES là một mảng kết hợp có cấu trúc như sau:

<a href="bai10-1.php?id=123">Link demo</a>
2

2.2. Xử lý upload file với PHPphp.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.

2.3. Lọc (filter) các file được uploadupload.php để xử lý file được upload.

file_uploads = On
1. Giả sử, chúng ta upload file gochocit.txt như hình bên dưới.fileUpload: là key của mảng tương ứng name của thẻ

Chúng ta có thể tạo một html form để upload file với thuộc tí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
8.$_FILES là một mảng kết hợp có cấu trúc như sau:2 trong html form

Trong ví dụ trên, html form có thuộc tính name: tên của file được upload.

file_uploads = On
0. Với thuộc tính này, html form cho phép chúng ta upload file lên web server. Thẻ với type=”file” cho phép chúng ta chọn đường dẫn của file cần upload. Sau khi nhấn nút Upload thì dữ liệu trong html form sẽ được gửi đến file upload.php để xử lý.

Để upload file lên web server thì cần đảm bảo cấu hình PHP cho phép upload file. Mở file php.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.fileUpload: là key của mảng tương ứng name của thẻ type: loại file tùy vào đuôi mở rộng của file, có thể là text/plain, image/jpg, image/png,…

file_uploads = On
2 trong html formtmp_name: là file tạm lưu trữ file được upload.

Bên dưới là một đoạn code của file upload.php để xử lý file được upload.name: tên của file được upload.error: mã lỗi khi upload, nếu errror = 0 thì không lỗi.

– fileUpload: là key của mảng tương ứng name của thẻ

Khi upload một file lên web server, tất cả thông tin về file sẽ được lưu trữ trong biến size: kích thước file tính bằng byte.

– name: tên của file được upload.

– type: loại file tùy vào đuôi mở rộng của file, có thể là text/plain, image/jpg, image/png,…

– tmp_name: là file tạm lưu trữ file được upload.

– error: mã lỗi khi upload, nếu errror = 0 thì không lỗi.

– size: kích thước file tính bằng byte.

Khi file đã được upload lên server, chúng ta có thể thực hiện các thao tác khác nhau trên file này:

Trong bài này, chúng ta sẽ tìm hiểu về cách upload file lên web server trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.cách upload file lên web server trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

<a href="bai10-1.php?id=123">Link demo</a>
7

2.3. Lọc (filter) các file được upload

3. Xử lý upload nhiều file với PHP

2.1. Cấu hình upload file trong php.ini

"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
8. – Sử dụng thuộc tính accept trong thẻ

file_uploads = On
22

<a href="bai10-1.php?id=123">Link demo</a>
9

2.2. Xử lý upload file với PHPphp.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.

2.3. Lọc (filter) các file được uploadupload.php để xử lý file được upload.0. Với thuộc tính này, html form cho phép chúng ta upload file lên web server. Thẻ với type=”file” cho phép chúng ta chọn đường dẫn của file cần upload. Sau khi nhấn nút Upload thì dữ liệu trong html form sẽ được gửi đến file upload.php để xử lý. – Upload file rồi kiểm tra loại file với PHP

"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
1

3. Xử lý upload nhiều file với PHP

2.1. Cấu hình upload file trong php.ini

"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
8. có thuộc tính

file_uploads = On
0. Với thuộc tính này, html form cho phép chúng ta upload file lên web server. Thẻ với type=”file” cho phép chúng ta chọn đường dẫn của file cần upload. Sau khi nhấn nút Upload thì dữ liệu trong html form sẽ được gửi đến file upload.php để xử lý.4. Lưu ý: name của thẻ <input> phải có thêm dấu ngoặc vuông [], thể hiện là một mảng chứa nhiều file.

2.2. Xử lý upload file với PHPphp.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.

2.2. Xử lý upload file với PHPphp.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.

2.3. Lọc (filter) các file được uploadupload.php để xử lý file được upload.upload-multiple-files.php để xử lý upload nhiều file. Thông tin về các file sẽ được truy xuất từ $_FILES[‘fileUpload’] dưới dạng các mảng.

Để upload file lên web server thì cần đảm bảo cấu hình PHP cho phép upload file. Mở file php.ini (xem hướng dẫn ở phần Thay đổi default timezone trong PHP), tìm đến cấu hình file_uploads và gán giá trị là On.$_FILES[‘fileUpload’][‘name’]: chứa các tên file được upload.$_FILES[‘fileUpload’][‘name’]: chứa các tên file được upload.

Bên dưới là một đoạn code của file upload.php để xử lý file được upload.$_FILES[‘fileUpload’][‘type’]: chứa các loại file được upload.$_FILES[‘fileUpload’][‘type’]: chứa các loại file được upload.

Khi upload một file lên web server, tất cả thông tin về file sẽ được lưu trữ trong biến

file_uploads = On
1. Giả sử, chúng ta upload file gochocit.txt như hình bên dưới.$_FILES[‘fileUpload’][‘tmp_name’]: chứa các vị trí lưu tạm các file.$_FILES[‘fileUpload’][‘tmp_name’]: chứa các vị trí lưu tạm các file.

Biến $_FILES là một mảng kết hợp có cấu trúc như sau:$_FILES[‘fileUpload’][‘error’]: là mảng báo lỗi khi upload.$_FILES[‘fileUpload’][‘error’]: là mảng báo lỗi khi upload.

Trong đó,$_FILES[‘fileUpload’][‘size’]: chứa kích thước các file được upload.$_FILES[‘fileUpload’][‘size’]: chứa kích thước các file được upload.

"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
6

– fileUpload: là key của mảng tương ứng name của thẻ

file_uploads = On
2 trong html form

– name: tên của file được upload.

  • – type: loại file tùy vào đuôi mở rộng của file, có thể là text/plain, image/jpg, image/png,…
  • – tmp_name: là file tạm lưu trữ file được upload.
  • – error: mã lỗi khi upload, nếu errror = 0 thì không lỗi.
  • – size: kích thước file tính bằng byte.
  • Khi file đã được upload lên server, chúng ta có thể thực hiện các thao tác khác nhau trên file này: