Xử lý html form với PHP

Đây là bài 38/53 bài của series môn học Lập trình Web PHP

Trong bài này, chúng ta sẽ tìm hiểu về cách xử lý html form với 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.

1. Xây dựng html form đơn giản

Một html form được sử dụng để thu thập dữ liệu (data) do user nhập vào. Sau đó, các dữ liệu này thường được gửi đến web server để xử lý. Thẻ <form> được sử dụng để tạo html form trong html. Các thẻ <form> chứa các thẻ khác để user nhập dữ liệu như <input>, <textarea>, <button>,…

1.1. Xây dựng html form trong file .html

<html>
<head>
    <title>Welcome to gochocit.com!</title>
</head>
<body>
<form action="welcome.php" method="post">
    <b>Please, let we know who are you?</b><br>
    Name:<br>
    <input type="text" name="name"><br>
    E-mail:<br>
    <input type="text" name="email"><br>
    <input type="submit">
</form>
</body>
</html>
Ví dụ html form

Trong ví dụ trên, thẻ <form> gồm thẻ <input> với type="text" để user nhập dữ liệu. Thẻ <input> với type="submit" giúp định nghĩa một button để gửi dữ liệu trong form đến web server. Với action="welcome.php" method="post", dữ liệu sẽ được gửi đến file welcome.php trên web server để xử lý với method="post".

1.2. Xây dựng html form trong file .php

<html>
<head>
    <title>Welcome to gochocit.com!</title>
</head>
<body>
<form action="welcome.php" method="post">
    <b>Please, let we know who are you?</b><br>
    Name:<br>
    <input type="text" name="name"><br>
    E-mail:<br>
    <input type="text" name="email"><br>
    <input type="submit">
</form>
</body>
</html>

Trong file .php, các bạn có thể nhúng các thẻ html như là trong file .html.

2. Gửi dữ liệu từ html form đến php script

Khi nhấn button Submit, dữ liệu trong form sẽ được gửi đến file welcome.php để xử lý. Chúng ta sẽ sử dụng 2 biến superglobals$ _ GET$_POST để lấy dữ liệu được gửi từ html form.

2.1. Gửi dữ liệu với method=”post”

Khi dữ liệu mà user nhập vào được gửi với method="post", chúng sẽ được ẩn với người dùng. Những dữ liệu này sẽ được gửi trong body của http request và không hiển thị trên url. Nếu sử dụng method="post", số lượng dữ liệu được gửi là không giới hạn.

<html>
<head>
    <title>Welcome to gochocit.com!</title>
</head>
<body>
Welcome <b><?php echo $_POST["name"]; ?></b><br>
Your email address is <?php echo $_POST["email"]; ?>
</body>
</html>

Sử dụng biến $_POST và thuộc tính name của thẻ <input> để lấy các dữ liệu được gửi từ html form. Ví dụ, $_POST["name"] hay $_POST["email"].

Ví dụ, chúng ta request file index.php chứa html form và nhập dữ liệu vào html form.

Input data trong html form

Sau đó, nhấn button Submit để gửi dữ liệu đến welcome.php và được kết quả như bên dưới.

Data với post method trong html form

2.2. Gửi dữ liệu với method=”get”

Khi dữ liệu mà user nhập vào được gửi với method="get", chúng sẽ không được ẩn với người dùng. Những dữ liệu này sẽ được hiển thị trên url. Nếu sử dụng method="get", số lượng dữ liệu được gửi sẽ bị giới hạn khoảng 2000 ký tự.

<html>
<head>
    <title>Welcome to gochocit.com!</title>
</head>
<body>
Welcome <b><?php echo $_GET["name"]; ?></b><br>
Your email address is <?php echo $_GET["email"]; ?>
</body>
</html>

Sử dụng biến $_GET và thuộc tính name của thẻ <input> để lấy các dữ liệu được gửi từ html form. Ví dụ, $_GET["name"] hay $_GET["email"].

Ví dụ, chúng ta request file index.php chứa html form và nhập dữ liệu vào html form.

Input data trong html form

Sau đó, nhấn button Submit để gửi dữ liệu đến welcome.php và được kết quả như bên dưới.

Data với get method trong html forrm

Khi gửi những dữ liệu không cần bảo mật thì có thể dùng method="get". Lưu ý: mật khẩu hoặc những dữ liệu quan trọng KHÔNG BAO GIỜ được gửi với method="get".

5/5 - (2 bình chọn)
Bài trước và bài sau trong môn học<< Namespace trong PHP dùng để làm gì?Kiểm tra (validation) dữ liệu trong html form với PHP >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.