Sử dụng biến siêu toàn cục $_POST hoặc $_GET

Ngày đăng: 07/07/2024   -    Cập nhật: 08/07/2024

Bất kỳ khi nào chúng ta cần gửi các dữ liệu từ một trang web tới một trang khác, chúng ta luôn phải sử dụng các biến để truyền thông tin qua lại. Tuy nhiên, việc sử dụng các biến đơn giản có thể gây ra những bất tiện trong việc quản lý và xử lý dữ liệu, đặc biệt là khi website của bạn có phải xử lý với rất nhiều biểu mẫu. Để giải quyết vấn đề này, chúng ta có thể sử dụng các biến siêu toàn cục trong PHP như là một giải pháp hiệu quả hơn.

Khái niệm biến siêu toàn cục

Biến siêu toàn cục trong PHP được hiểu là các biến mà có thể truy cập được từ bất kỳ đâu trong mã nguồn của trang web của bạn. Các biến siêu toàn cục được định nghĩa sẵn và có thể được sử dụng trong bất kỳ hàm nào mà không cần cung cấp thêm thông tin. Trong đó, hai biến siêu toàn cục phổ biến nhất là $_POST và $_GET.

$_POST

Biến $_POST được sử dụng để lấy dữ liệu từ một biểu mẫu HTML được submit bằng phương thức POST. Khi một biểu mẫu được submit, các giá trị của các ô input trong biểu mẫu sẽ được gửi đến trang xử lý thông qua biến $_POST. Việc lấy dữ liệu từ biến $_POST sẽ giúp chúng ta dễ dàng xử lý và sử dụng các dữ liệu này trong mã nguồn.

$_GET

Trái ngược với $_POST, biến $_GET được sử dụng để lấy dữ liệu từ một biểu mẫu HTML được submit bằng phương thức GET. Khi một biểu mẫu được submit bằng phương thức GET, các giá trị của các ô input trong biểu mẫu sẽ được gửi đến trang xử lý thông qua URL. Do đó, việc sử dụng biến $_GET sẽ cho phép chúng ta truy cập vào các dữ liệu được truyền theo URL và xử lý chúng trong mã nguồn.

Ưu điểm của việc sử dụng biến siêu toàn cục

Sử dụng biến siêu toàn cục trong mã nguồn của trang web có rất nhiều lợi ích, đặc biệt là trong việc quản lý và xử lý dữ liệu từ các biểu mẫu. Dưới đây là các ưu điểm chính của việc sử dụng biến siêu toàn cục:

  • Dễ dàng truy cập: với các biến siêu toàn cục, chúng ta có thể truy cập vào các dữ liệu từ bất kỳ đâu trong mã nguồn mà không cần cung cấp thêm thông tin. Điều này giúp cho việc xử lý dữ liệu trở nên đơn giản và thuận tiện hơn.
  • Giúp tiết kiệm thời gian và công sức: thay vì phải xử lý từng biến một khi có nhiều biểu mẫu và dữ liệu, chúng ta chỉ cần sử dụng các biến siêu toàn cục để lấy dữ liệu và xử lý chúng trong mã nguồn. Điều này giúp tiết kiệm thời gian và công sức của lập trình viên.
  • Dễ dàng quản lý: sử dụng các biến siêu toàn cục giúp cho việc quản lý dữ liệu trở nên dễ dàng hơn. Chúng ta có thể tổ chức và lưu trữ các dữ liệu trong các biến này một cách hợp lý hơn, từ đó giúp cho mã nguồn trở nên gọn gàng và dễ hiểu hơn.

Cách sử dụng biến siêu toàn cục trong phương thức POST


 

Để sử dụng biến siêu toàn cục $_POST trong mã nguồn của trang web, chúng ta cần thực hiện các bước sau:

  • Đặt thuộc tính method="post" trong thẻ <form> của biểu mẫu HTML. Ví dụ: <form method="post" action="xuly.php">
  • Tạo các ô input trong biểu mẫu với thuộc tính name tương ứng. Ví dụ: <input type="text" name="username">
  • Trong trang xử lý (xuly.php), chúng ta có thể sử dụng biến $_POST['name'] để lấy dữ liệu từ biểu mẫu. Trong đó, name là giá trị của thuộc tính name trong ô input tương ứng. Ví dụ: $_POST['username'].

Ví dụ sau đây minh họa cách sử dụng biến siêu toàn cục $_POST để lấy dữ liệu từ một biểu mẫu HTML:


<!DOCTYPE html>

<html>

<head>

    <title>Example using $_POST</title>

</head>

<body>

    <form method="post" action="xuly.php">

        <label for="name">Name:</label>

        <input type="text" id="name" name="username">

        <input type="submit" value="Submit">

    </form>

</body>

</html>

<?php

//xuly.php

if(isset($_POST['username'])){

    $username = $_POST['username'];

    echo "Hello, " . $username;

}

?>

Kết quả khi submit biểu mẫu:

Cách sử dụng biến siêu toàn cục trong phương thức GET

Để sử dụng biến siêu toàn cục $_GET trong mã nguồn của trang web, chúng ta cần thực hiện các bước sau:


  • Đặt thuộc tính method="get" trong thẻ <form> của biểu mẫu HTML. Ví dụ: <form method="get" action="xuly.php">
  • Tạo các ô input trong biểu mẫu với thuộc tính name tương ứng. Ví dụ: <input type="text" name="username">
  • Trong trang xử lý (xuly.php), chúng ta có thể sử dụng biến $_GET['name'] để lấy dữ liệu từ biểu mẫu. Trong đó, name là giá trị của thuộc tính name trong ô input tương ứng. Ví dụ: $_GET['username'].

Ví dụ sau đây minh họa cách sử dụng biến siêu toàn cục $_GET để lấy dữ liệu từ một biểu mẫu HTML:


<!DOCTYPE html>

<html>

<head>

    <title>Example using $_GET</title>

</head>

<body>

    <form method="get" action="xuly.php">

        <label for="name">Name:</label>

        <input type="text" id="name" name="username">

        <input type="submit" value="Submit">

    </form>

</body>

</html>

<?php

//xuly.php

if(isset($_GET['username'])){

    $username = $_GET['username'];

    echo "Hello, " . $username;

}

?>

Kết quả khi submit biểu mẫu:

Bảo mật khi sử dụng biến siêu toàn cục

Mặc dù việc sử dụng biến siêu toàn cục có nhiều ưu điểm, tuy nhiên chúng cũng có thể gây ra những vấn đề liên quan đến bảo mật nếu không được sử dụng đúng cách. Để đảm bảo an toàn cho trang web của bạn, có một số điều cần lưu ý khi sử dụng biến siêu toàn cục:

  • Luôn kiểm tra các giá trị được gửi tới từ biến siêu toàn cục trước khi sử dụng chúng trong mã nguồn. Chúng ta có thể sử dụng các hàm như htmlspecialchars() để tránh việc lỗ hổng XSS (cross-site scripting).
  • Không bao giờ hiển thị các giá trị của biến siêu toàn cục trực tiếp trên trang web mà không có bất kỳ kiểm tra nào. Điều này có thể dẫn đến việc tiết lộ thông tin nhạy cảm của người dùng.
  • Sử dụng cơ chế xác thực (authentication) và phân quyền (authorization) để đảm bảo rằng chỉ những người dùng có quyền mới có thể truy cập vào các dữ liệu quan trọng trong biến siêu toàn cục.

Xử lý dữ liệu nhận được từ biến siêu toàn cục

Khi nhận được dữ liệu từ biến siêu toàn cục, chúng ta có thể xử lý và sử dụng chúng như bất kỳ loại dữ liệu nào khác trong PHP. Dữ liệu truyền tới thông qua biến siêu toàn cục có thể là chuỗi (string), số (integer), hay một mảng (array), tuỳ thuộc vào cách chúng ta truyền dữ liệu từ biểu mẫu.


Ví dụ, chúng ta có thể sử dụng hàm isset() để kiểm tra xem một biến có được gửi tới hay không. Nếu biến đã được gửi tới, chúng ta có thể thực hiện các thao tác xử lý dữ liệu, như in ra dữ liệu hay lưu trữ vào các cơ sở dữ liệu.


<?php

if(isset($_POST['username'])){

    $username = $_POST['username'];

    echo "Hello, " . $username;

}

?>

Ngoài ra, chúng ta cũng có thể sử dụng các hàm như filter_var() để kiểm tra tính hợp lệ của dữ liệu trước khi sử dụng. Ví dụ, chúng ta có thể kiểm tra tính hợp lệ của một địa chỉ email bằng cách sử dụng FILTER_VALIDATE_EMAIL:


<?php

if(isset($_POST['email'])){

    $email = $_POST['email'];

    if(filter_var($email, FILTER_VALIDATE_EMAIL)){

        //thực hiện các thao tác xử lý với dữ liệu email hợp lệ

    }else{

        echo "Email không hợp lệ!";

    }

}

?>


Kết luận: sử dụng biến siêu toàn cục $_POST hoặc $_GET trong PHP là một cách hiệu quả để lấy dữ liệu từ các biểu mẫu HTML, giúp cho việc xử lý và quản lý dữ liệu trở nên dễ dàng hơn, đặc biệt là khi website của bạn có phải xử lý với rất nhiều biểu mẫu.


Tuy nhiên, để đảm bảo an toàn cho trang web của bạn, chúng ta cần lưu ý các điều cần thực hiện khi sử dụng biến siêu toàn cục và kiểm tra tính hợp lệ của dữ liệu trước khi sử dụng.


Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng biến siêu toàn cục để lấy dữ liệu từ biểu mẫu HTML trong PHP.


Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023

32 giờ
Khóa học IT Business Analyst Foundation phù hợp với các bạn sinh viên khoa CNTT, Kinh tế hoặc các ngành có liên quan muốn học bài bản và nâng cao các kỹ năng về Phân tích nghiệp vụ cho dự án phần mềm.

LẬP TRÌNH JAVA WEB VỚI FRAME WORK

40 giờ
Khóa học Lập trình JAVA Web với Framework giúp học viên nắm vững các kiến thức hiện nay như: JSF, Hibernate, Spring Boot. Sử dụng tốt một Framework rất nổi tiếng hiện nay là Spring Boot ... Biết cách kết hợp giữa Spring Boot với các công nghệ khác như: JPA, Hibernate, Restful WebServices.

Lập trình Web với Django

30
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC LẬP TRÌNH PHP WEB

54 giờ
NIIT - ICT Hà Nội cung cấp Khóa học Lập trình Web Fullstack với PHP, phiên bản cập nhật lần thứ 5 (T8/2019). Dạy Lập trình PHP bài bản, chi tiết (từ Front-end đến Back-end)

Khóa học Lập trình Game Unity

40 giờ
Nắm vững các kiến thức C# hướng đối tượng, Có khả năng xây dựng và phát tiển các ý tường game của bản thân. Hiểu được những khái niệm và các vận hành của các tựa Game

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

FRONT-END VỚI REACTJS VÀ REACT NATIVE

95h (5,5 tháng)
Khóa học duy nhất tại Hà Nội giúp bạn trang bị kiến thức đa nền tảng về Front-end. Với khóa học này, bạn hoàn toàn có thể làm chủ công nghệ phát triển ứng dụng mobile với React Native đồng thời xây dựng được các Trang Web bằng ReactJS...

Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM

5 buổi
Khai giảng Khóa học C&B Excel tại TP HCM. Khóa học Tiền lương, Bảo hiểm xã hội, Phúc lợi... Sử dụng Excel giải quyết bài toán tính thuế TNCN, quy tình tính bảo hiểm...

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate

KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)

48 giờ
Khóa học Angular & TypeScript (Front end) sẽ giúp bạn làm chủ được nền tảng Angular từ đó phát triển được các ứng dụng mạnh mẽ, đa nền tảng.

Lập trình Android Nâng cao

56 giờ
Khóa học Android nâng cao cung cấp kiến thức và kỹ năng chuyên sâu về lập trình Android. Phát triển ứng dụng tiên triến như: Lập trình giao diện tùy biến, xử lý dữ liệu nâng cao
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!