Ngày đăng: 31/12/2021 | 79 lượt xem

Bộ mã nguồn web viết bằng PHP được đưa lên host và đó chính là Server, còn khi các bạn truy cập sử dụng website thì bạn chính là một Client. Khi các bạn đăng nhập hay đăng ký tài khoản, hoặc là các bạn đăng comment thì dữ liệu sẽ được gửi từ client lên Server, vậy làm sao để Server nhận được những thông tin của bạn? Server sẽ nhận được thông qua hai phương thức POST và GET.

Giới thiệu 2 phương thức GET và POST

  • POST và GET là các phương thức truyền dữ liệu từ Client lên Server
  • Sử dụng 2 biến global: $_POST và $_GET để lấy thông tin 2 phương thức trên
  • Thường được sử dụng để lấy dữ liệu từ form gửi lên

Phương thức GET

  • Các giá trị của biến được hiển thị trên URL
  • Tạo ra một chuỗi ký tự dài xuất hiện trong Server log của bạn trong location: box của trình duyệt
  • Được gửi giới hạn tối đa 1024 ký tự
  • Không sử dụng GET để gửi password hoặc thông tin nhạy cảm lên server
  • Không thể gửi được các dữ liệu nhị phân, ví dụ như hình ảnh, các file tài liệu
  • Sử dụng biến global $_GET để lấy dữ liệu

Phương thức POST

  • Các giá trị của biến không hiển thị trên URL và được gửi ngầm lên Server
  • Không hạn chế kích thước dữ liệu gửi lên Server
  • Có thể gửi dữ liệu nhị phân
  • Dữ liệu được gửi thông qua phương thức HTTP header, việc bảo mật phụ thuộc vào HTTP
  • Sử dụng biến global $_POST để lấy dữ liệu

Làm việc với $_GET và $_POST

  • Dùng biến global: $_GET, $_POST và $_REQUEST để lấy dữ liệu gửi lên Server
  • Dùng hàm ISSET() để kiểm tra biến có tồn tại hay không

Upload file lên Server ( sử dụng POST )

Khi tiến hành code upload file lên Server, trong form phải có thuộc tính enctype = "multipart/form-data"

Sử dụng hàm upload file trong PHP

Cú pháp: move_uploaded_file( $filename, $destination);

  • $filename là tên file upload.
  • $destination là thư mục mà file sẽ được chuyển đến.

Ví dụ code upload file:

<?php
    if(isset($_POST['submit'])){
        if(isset($_FILES['file']) && $_FILES['file'] != NULL){

            $target = './media/';
            // Đường dẫn chứa File upload

            move_uploaded_file($_FILES['file']['tmp_name'], $target.$_FILES['file']['name']);
            // Hàm upload file move_uploaded_file(tên file, đường dẫn chứa file);

            echo 'Thành công !';
        }else{
            echo 'Error';
        }
    }
?>

<html>
<body>
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="file">
        <input type="submit" name="submit" value="Gửi">
    </form>
</body>
</html>

Tags: