Hướng dẫn dùng html action trong PHP

Chúng ta sẽ sử dụng hàm isset để kiểm tra xem các giá trị đã có trong biến mảng $_POST chưa trước khi thực hiện các hành động tiếp theo.

Hãy xem đoạn mã dưới đây:

sử dụng để kiểm tra form_submitted đã có chưa và và hiển thị thông báo cảm ơn với firstname.
Nếu form_fobmitted lĩnh vực này chưa tồn tại trong $_POST[] mảng, form vẫn hiển thị.

5.2. Một ví dụ về chức năng Search sử dụng phương thức GET


Chúng ta sẽ thiết kế một công cụ tìm kiếm đơn giản mà sử dụng phương thức GET trong PHP.

Để đơn giản, chúng ta sẽ sử dụng cấu trúc if để xác định output

Chúng ta sẽ sử dụng cùng một đoạn mã HTMl gần giống như ví dụ From đăng ký ở trên và thay đổi nó đi một chút.

Hiển thị trong trình duyệt như sau:

Hướng dẫn dùng html action trong PHP

Chức năng tìm kiếm đơn giản


Gõ thử "GET" và click vào nút submit

Chúng ta thấy chương trình thực thi như sau:

Hướng dẫn dùng html action trong PHP

Chức năng mô phỏng tìm kiếm thực hiện thành công với Phương thức GET
 


Và bạn cũng sẽ thấy ở trong địa chỉ URL như sau:


Hướng dẫn dùng html action trong PHP

Thông tin được GET hiển thị trên URL

3.3. Ví dụ làm việc với check box và radio button


Nếu người dùng tick vào checkbox hoặc radio, không có giá trị submit. Nếu người dùng tick vào check box hoặc radio button thì sẽ được submit.

Chúng ta hãy thay đổi việc mẫu Form đăng ký một chút và thêm một nút checkbox để kiểm tra xem người dùng có đồng ý với các điều khoản hay không rồi mới cho ấn submit.

Các biến siêu toàn cục $_GET$_POST trong PHP được sử dụng để thu thập dữ liệu biểu mẫu (form).

Ví dụ dưới đây hiển thị một biểu mẫu HTML đơn giản với hai trường đầu vào (Name và E-mail) và nút gửi (Submit):





    
        Name:
        
        
E-mail:

Đây là kết quả:

Hướng dẫn dùng html action trong PHP

Khi người dùng điền vào biểu mẫu ở trên và nhấp vào nút gửi, dữ liệu biểu mẫu được gửi đến file PHP có tên là "welcome.php" để xử lý. Dữ liệu biểu mẫu được gửi bằng phương thức HTTP POST.

Để hiển thị dữ liệu đã gửi, bạn chỉ cần duyệt qua tất cả các trường đầu vào (thuộc tính name của thẻ input) bằng cách sử dụng biến siêu toàn cục $_POST. File "welcome.php" trông sẽ như thế này:





    Welcome 
    
Your email address is:

Đầu ra có thể là một cái gì đó như thế này:

Welcome Trung Nguyen
Your email address is [email protected]

Kết quả tương tự cũng có thể đạt được bằng phương pháp HTTP GET:





    
        Name:
        
        
E-mail:

File "welcome_get.php" trông sẽ như thế này:





    Welcome 
    
Your email address is:

Mã ở trên khá đơn giản. Tuy nhiên, một điều quan trọng còn thiếu là xác thực dữ liệu đầu vào do người dùng nhập. Bạn cần xác thực dữ liệu biểu mẫu để bảo vệ tập lệnh của bạn khỏi mã độc.

Hãy đảm bảo tính BẢO MẬT khi xử lý các biểu mẫu PHP!

Trang này không chứa bất kỳ xác thực biểu mẫu nào, nó chỉ hiển thị cách bạn có thể gửi và truy xuất dữ liệu biểu mẫu.

Tuy nhiên, các trang tiếp theo sẽ chỉ ra cách xử lý các biểu mẫu PHP với tính bảo mật! Xác thực hợp lệ dữ liệu biểu mẫu là rất quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và kẻ gửi thư rác!

GET với POST

Cả GET và POST đều tạo một mảng (ví dụ: mảng (key1 => value1, key2 => value2, key3 => value3, ...)). Mảng này chứa các cặp khóa / giá trị, trong đó các khóa là tên của các trường đầu vào của biểu mẫu (thuộc tính name của các thẻ input như ở ví dụ trên) và giá trị là dữ liệu đầu vào từ người dùng.

Cả GET và POST đều được coi là các $_GET$_POST. Đây là các biến siêu toàn cục, có nghĩa là chúng luôn có thể truy cập được, bất kể phạm vi - và bạn có thể truy cập chúng từ bất kỳ hàm, lớp hoặc file nào mà không phải làm gì đặc biệt.

$_GET là một mảng các biến được truyền cho tập lệnh hiện tại thông qua các tham số URL.

$_POST là một mảng các biến được truyền cho tập lệnh hiện tại thông qua phương thức HTTP POST.

Khi nào nên sử dụng GET?

Thông tin được gửi từ một biểu mẫu với phương thức GET được hiển thị cho mọi người (tất cả tên và giá trị biến được hiển thị trong URL).

GET cũng có giới hạn về số lượng thông tin cần gửi. Giới hạn là khoảng 2000 ký tự. Tuy nhiên, vì các biến được hiển thị trong URL, nên nó có thể được sử dụng để đánh dấu trang. Điều này có thể hữu ích trong một số trường hợp.

GET có thể được sử dụng để gửi các dữ liệu không nhạy cảm.

Lưu ý: KHÔNG BAO GIỜ sử dụng GET để gửi mật khẩu hoặc các thông tin nhạy cảm khác!

Khi nào nên sử dụng POST?

Thông tin được gửi từ một biểu mẫu bằng phương thức POST là vô hình đối với người khác (tất cả tên / giá trị được nhúng trong phần thân của yêu cầu HTTP) và không có giới hạn về số lượng thông tin cần gửi.

Ngoài ra, POST hỗ trợ chức năng nâng cao như hỗ trợ đầu vào nhị phân nhiều phần (multi-part binary input) trong khi tải file lên máy chủ.