[PHP] – Bài 10: Xử lý form và gửi dữ liệu trong PHP – REQUEST – POST – GET

0 458

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

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é.

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.

Liên hệ

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.