LÝ THUYẾT
XỬ LÝ FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Xử lý form với phương thức POST

Trong bài này mình sẽ giới thiệu về phương thức POST và một số lưu ý quan trọng khi sử dụng phương thức POST trong lập trình web. Như thường lệ trước khi đọc bài này thì bạn nên đọc bài phương thức GET và POST trong PHP đã nhé.

1. Phương thức POST là gì?

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, vì vậy khi xây dựng form lấy thông tin từ user thì ta nên sử dụng phương thức POST vì nó bảo mật hơn.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ví dụ mình xây dựng form đăng nhập thì mình sẽ sử dụng phương thức POST. Bạn tạo một file tên là post.php và nhập vào đoạn code sau:

XEM DEMO

 

<!DOCTYPE html>
<html>
    <head>
        <title>Freetuts.net - xử lý form với POST</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>freetuts.net - ứng dụng đăng nhập</h1>
        <form method="post" action="post.php">
            Username: <input type="text" name="username" value=""/> <br/> <br/>
            Password: <input type="post" name="password" value=""/> <br/> <br/>
            <input type="submit" name="btn" value="Đang Nhập"/>
        </form>
    </body>
</html>

 

Bạn hãy thử nhấn đăng nhập và xem trên URL thì sẽ thấy nó không có bổ sung một query string nao vào cả. Như vậy với phương thức POST thì dữ liệu sẽ được giấu đi.

2. Lấy dữ liệu từ phương thức POST

Để lấy dữ liệu từ phương thức POST thì ta sẽ sư dụng biến $_POST, đây là một mảng chứa danh sách tất cả dữ liệu từ client gửi lên bằng phương thức POST.

Quay lại ví dụ trên bạn sửa code lại như sau:

 

<!DOCTYPE html>
<html>
    <head>
        <title>Freetuts.net - xử lý form với POST</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>freetuts.net - ứng dụng đăng nhập</h1>
        <form method="post" action="post.php">
            Username: <input type="text" name="username" value=""/> <br/> <br/>
            Password: <input type="post" name="password" value=""/> <br/> <br/>
            <input type="submit" name="btn" value="Đang Nhập"/>
        </form>
        <?php 
        var_dump($_POST);
        ?>
    </body>
</html>

 

Bạn hãy chạy lại chương trình và nhập vào username là 'freetuts.net' và mật khẩu là 'thehalfheart' thì sẽ thấy kết quả như sau:

phuong thuc post png

3. Một ví dụ với phương thức POST

Bây giờ ta xây dựng form đăng nhập hoàn chỉnh nhé. 

Giả sử nếu người dùng nhập tên đăng nhập là freetuts.net và mật khẩu là thehalfheart thì ta sẽ thông báo là đăng nhập thành công, ngược lại sẽ thông báo đăng nhập sai.

Bạn sửa lại file post.php với nội dung như sau:

 

<!DOCTYPE html>
<html>
    <head>
        <title>Freetuts.net - xử lý form với POST</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>freetuts.net - ứng dụng đăng nhập</h1>
        <form method="post" action="post.php">
            Username: <input type="text" name="username" value=""/> <br/> <br/>
            Password: <input type="post" name="password" value=""/> <br/> <br/>
            <input type="submit" name="btn" value="Đang Nhập"/>
        </form>
        <?php 
        if ($_POST['btn'])
        {
            // B1: Lấy thông tin
            $username = isset($_POST['username']) ? $_POST['username'] : '';
            $password = isset($_POST['password']) ? $_POST['password'] : '';
            
            // B2: Kiểm tra dữ liệu
            if (!$password || !$username){
                echo 'Bạn chưa nhập đủ thông tin';
            }
            else if ($password != 'thehalfheart' || $username != 'freetuts.net'){
                echo 'Thông tin đăng nhập bị sai';
            }
            else{
                echo 'Đăng nhập thành công!';
            }
        }
        ?>
    </body>
</html>

 

Bạn hãy chạy lại và xem thử thành quả của mình nhé.

Và đây là tấm hình giải thích cho luồng dữ liệu.

phuong thuc post 1 png

4. Lời kết 

Như vậy là mình đã giới thiệu xong phương thức POST trong lập trình web, hy vọng qua bài này bạn sẽ không còn thắc mắc POST là gì nữa :) 

Nếu bài viết có chỗ nào sai thì bạn vui lòng sửa bằng cách comment bên dưới giúp mình nhé, cám ơn các bạn đã đọc.

Tổng hợp dữ liệu trong bài:

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top