Dữ liệu biểu mẫu HTML có thể được truy xuất và xử lý theo nhiều cách khác nhau, ví dụ:

< font style = "vertical-align: inherit;"> Bạn đang xem: php lấy giá trị biểu mẫu

Dữ liệu biểu mẫu HTML có thể được truy xuất và xử lý trong nhiều cách khác nhau, chẳng hạn như

  • bằng cách sử dụng một ngôn ngữ kịch bản,
  • ngôn ngữ phía máy chủ, chẳng hạn như PHP,
  • hoặc bất kỳ ngôn ngữ lập trình nào được lựa chọn.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách truy cập hoặc truy xuất dữ liệu biểu mẫu bằng PHP và chỉ cho bạn các phương pháp khác nhau có thể được sử dụng.

Thiết lập biểu mẫu HTML

Để thiết lập một biểu mẫu để xử lý máy chủ và truy xuất dữ liệu, hai thuộc tính biểu mẫu quan trọng kiểm soát cách dữ liệu biểu mẫu được xử lý bất cứ khi nào nó được gửi phải được chỉ định. Hai thuộc tính biểu mẫu này là:

  • Thuộc tính phương pháp
  • Thuộc tính hành động

{codecitation} & lt; form action = ”” method = ”” & gt; … & Lt; / form & gt; {/ codecitation}

Thuộc tính hành động: chỉ định vị trí tệp tập lệnh PHP để xử lý khi nó được gửi. Nếu không có vị trí tệp tập lệnh nào được chỉ định, trình duyệt sẽ gửi biểu mẫu bằng cách sử dụng vị trí tệp tập lệnh PHP hiện tại (tập lệnh tự mà biểu mẫu đang được gọi).

Thuộc tính phương thức: chỉ định loại phương thức mà biểu mẫu sẽ sử dụng để gửi dữ liệu. Chúng tôi có hai phương pháp, GET POST .

Lưu ý: Theo mặc định, nếu không có phương pháp nào được chỉ định, thì phương pháp GET sẽ được sử dụng.

Đặt khóa truy cập cho dữ liệu biểu mẫu bằng cách sử dụng thuộc tính tên của phần tử

Giá trị thuộc tính name ( name = ”unique-name-here” ) của phần tử được PHP sử dụng làm khóa để cho phép truy cập vào giá trị dữ liệu của phần tử trường biểu mẫu đã chỉ định khi bạn gửi biểu mẫu . Nếu không có thuộc tính tên được chỉ định cho từng phần tử có trong biểu mẫu, PHP sẽ không thể tạo mảng tự động bằng khóa truy cập bằng cách sử dụng giá trị thuộc tính tên của phần tử. Điều này có nghĩa là bạn không thể truy cập giá trị dữ liệu biểu mẫu phần tử đó sau khi biểu mẫu đã được gửi đến máy chủ vì khóa của nó chưa được xác định.

{codecitation} & lt; input type = ”text” name = ”unique-name-here” / & gt; {/ codecitation}

Cách dữ liệu biểu mẫu được gửi

Khi bạn gửi biểu mẫu đến máy chủ, nó sẽ mã hóa biểu mẫu bằng cách sử dụng một lược đồ được gọi là mã hóa URL có một mẫu tích hợp mô tả cách phân tích và mã hóa dữ liệu biểu mẫu. Lược đồ này phân tích cú pháp và mã hóa dữ liệu biểu mẫu dưới dạng cặp tên / giá trị và nó sử dụng dấu bằng (=) để nối các cặp tên / giá trị với nhau.

{codecitation} name = value {/ codecitation}

Tuy nhiên, nếu dữ liệu biểu mẫu được gửi bao gồm các cặp khác nhau, thì ký tự dấu và (& amp;) được sử dụng để phân tách chúng.

{codecitation} name1 = firstValue & amp; name2 = secondValue & amp; name3 = thirdValue {/ codecitation}

Ngoài ra, nếu dữ liệu biểu mẫu được gửi có chứa ký tự khoảng trắng, thì lược đồ sẽ thay thế nó bằng ký tự dấu cộng (+) và mọi ký tự không phải từ khác hiện có đều được mã hóa theo cách khác.

Cách gửi hoạt động

Các trình duyệt máy khách có thể gửi thông tin đến máy chủ web theo hai cách khác nhau:

  1. Phương pháp GET
  2. Phương pháp ĐĂNG

Phương pháp GET

Phương thức này hướng dẫn trình duyệt gửi thông tin được mã hóa (cặp tên / giá trị) thông qua tham số URL bằng cách thêm nó vào yêu cầu trang. Trình duyệt triển khai phương pháp này bằng cách nối ký tự dấu chấm hỏi (?) Vào cuối trang yêu cầu vì nó chỉ định nơi bắt đầu chuỗi truy vấn (cặp tên / giá trị) và tất cả dữ liệu biểu mẫu đều hiển thị cho mọi người khi nó được hiển thị trong thanh địa chỉ của trình duyệt.

Ví dụ: Cách gửi dữ liệu phương thức GET của biểu mẫu

Các thông số URL được giải thích

  • http: //localhost/example.com : Chỉ định yêu cầu trang. Đây là trang mà trình duyệt đang yêu cầu từ máy chủ.
  • ? : Ký tự này chỉ định chuỗi truy vấn cho trang được yêu cầu bắt đầu từ đâu. Khi nó bị bỏ qua, trình duyệt sẽ không hiểu cách xử lý và gửi chuỗi truy vấn (cặp tên / giá trị) đến máy chủ.
  • name1, name2 : Chỉ định giá trị thuộc tính tên của phần tử trường biểu mẫu. Mỗi dữ liệu được gán cho dữ liệu trường biểu mẫu tương ứng và nó được sử dụng làm khóa truy cập bởi tập lệnh máy chủ (PHP), để truy xuất giá trị dữ liệu của nó khi bạn điền và gửi biểu mẫu.
  • Giá trị thứ nhất, Giá trị thứ hai : Đây là các giá trị đã nhập mà bạn đã nhập trước khi gửi biểu mẫu. Mỗi Giá trị được gán cho giá trị thuộc tính tên của phần tử tương ứng.
  • & amp;: Ký tự này được sử dụng để nối các cặp tên / giá trị với nhau thành một chuỗi truy vấn dài.
  • = : Ký tự này được dùng để gán tên của phần tử trường biểu mẫu cho giá trị dữ liệu của nó dưới dạng một cặp tên / giá trị.
Xem Thêm  RA QUYẾT ĐỊNH ĐẠO ĐỨC KINH DOANH BẰNG ALGORISTHM - bảng quyết định

Cách truy xuất dữ liệu biểu mẫu được gửi qua GET

Khi bạn gửi biểu mẫu thông qua phương thức GET, PHP cung cấp một biến superglobal, được gọi là $ _GET. PHP sử dụng biến $ _GET này để tạo một mảng liên kết với các khóa để truy cập tất cả thông tin đã gửi (dữ liệu biểu mẫu). Các khóa được tạo bằng cách sử dụng các giá trị thuộc tính tên của phần tử.

Tập lệnh phương thức $ _GET: get-method.php

{codecitation} // Kiểm tra xem biểu mẫu có được gửi không nếu (Isset ($ _GET [‘submit’])) {// truy xuất dữ liệu biểu mẫu bằng cách sử dụng giá trị thuộc tính tên của phần tử làm khóa $ firstname = $ _GET [‘ họ’]; $ lastname = $ _GET [‘lastname’]; // hiển thị kết quả echo ‘& lt; h3 & gt; Form GET Method & lt; / h3 & gt;’; echo ‘Tên của bạn là‘. $ họ. ‘‘. $ firstname; thoát ra;
}
{/ codecitation}

Phương thức GET

{codecitation} & lt; form action = ”get-method.php” method = ”get” & gt; & lt; input type = ”text” name = ”firstname” placeholder = ”First Name” / & gt; & lt; input type = ”text” name = ”lastname” placeholder = ”Last Name” / & gt; & lt; input type = ”submit” name = ”submit” / & gt; & lt; / form & gt; {/ codecitation}

Đây là hình ảnh hiển thị đầu ra mã:

Bây giờ chúng ta hãy xem mã…

Hàm Isset () trong PHP được sử dụng để xác định xem một biến có được đặt hay không.

Đầu tiên, hàm Isset () kiểm tra xem biểu mẫu đã được gửi hay chưa bằng cách sử dụng giá trị thuộc tính name của phần tử “submit” ( name = ”submit” ) làm khóa và chuyển nó vào $ _GET [] biến superglobal. Điều này là do dữ liệu biểu mẫu được PHP lưu trữ trong mảng superglobal $ _GET [] khi nó được gửi thông qua phương thức GET.

Sau đó, trường biểu mẫu, tên và họ của dữ liệu biểu mẫu được truy xuất bằng cách sử dụng cùng một phương thức, chuyển các giá trị thuộc tính tên tương ứng của chúng vào tham số mảng $ _GET [‘name as key’] và mỗi giá trị được gán cho một biến tên đã được sử dụng để hiển thị kết quả.

Sử dụng BÀI ĐĂNG

Phương thức POST của biểu mẫu gửi thông tin qua tiêu đề HTTP. Tất cả các cặp tên / giá trị được gửi qua phương thức này đều không hiển thị với bất kỳ ai khác vì tất cả thông tin đều được nhúng trong phần nội dung của yêu cầu HTTP.

Khi bạn gửi biểu mẫu tới máy chủ thông qua phương thức POST, PHP cung cấp một biến siêu toàn cầu có tên là $ _POST. Biến $ _POST được PHP sử dụng để tạo một mảng kết hợp với khóa truy cập ( $ _POST [‘name as key’] ). Khóa được tạo tự động bởi PHP khi biểu mẫu được gửi. PHP sử dụng thuộc tính tên phần tử trường biểu mẫu ( name = ”unique-name-here” ) để tạo khóa.

Tập lệnh phương thức $ _POST: post-method.php

{codecitation} // Kiểm tra xem biểu mẫu có được gửi không nếu (Isset ($ _POST [‘submit’])) {// truy xuất dữ liệu biểu mẫu bằng cách sử dụng giá trị thuộc tính tên của phần tử làm khóa $ firstname = $ _POST [‘ họ’]; $ lastname = $ _POST [‘lastname’]; // hiển thị kết quả
echo ‘& lt; h3 & gt; Form POST Method & lt; / h3 & gt;’; echo ‘Tên của bạn là‘. $ họ. ‘‘. $ firstname; lối ra; } {/ codecitation}

Biểu mẫu phương thức POST

{codecitation} & lt; form action = ”post-method.php” method = ”post” & gt;

& lt; input type = ”text” name = ”firstname” placeholder = ”First Name” / & gt;

& lt; input type = ”text” name = ”lastname” placeholder = ”Last Name” / & gt;

& lt; input type = ”submit” name = ”submit” / & gt;
& lt; / form & gt; {/ codecitation}

Giải thích mã

Isset ($ _POST [‘submit’]): Dòng này kiểm tra xem biểu mẫu có được gửi bằng cách sử dụng chức năng Isset () hay không, nhưng chỉ hoạt động nếu loại đầu vào của biểu mẫu gửi có thuộc tính name (name = ”submit”).

Xem Thêm  Cách chuyển chuỗi thành số trong JavaScript - chuyển đổi chuỗi js thành số nguyên

$ _POST [‘firstname’]: Dữ liệu biểu mẫu được PHP lưu trữ trong mảng biến $ _POST [‘name as key’] vì nó được gửi thông qua phương thức POST và giá trị thuộc tính tên phần tử – firstname (tên = ”Firstname”) được sử dụng để truy cập dữ liệu trường biểu mẫu của nó. Quy trình tương tự cũng được sử dụng cho $ _POST [‘lastname’]. Dữ liệu biểu mẫu sau đó được gán cho một biến được sử dụng để hiển thị kết quả.

Biến $ _REQUEST

Biến $ _REQUEST là một biến superglobal khác trong PHP mà bạn có thể sử dụng để truy xuất động dữ liệu biểu mẫu được gửi từ cả hai phương thức Form GET và POST. Biến $ _REQUEST chứa nội dung của cả $ _GET, $ _POST và $ _COOKIES.

Lưu ý: biến superglobal $ _COOKIES được sử dụng để tạo dữ liệu COOKIES. Chúng ta sẽ thảo luận vấn đề này trong một hướng dẫn khác.

Ví dụ: request-script.php

Mã biến $ _REQUEST

{codecitation} // Kiểm tra xem biểu mẫu đã được gửi chưa
if (Isset ($ _POST [‘submit’])) {

// truy xuất dữ liệu biểu mẫu bằng cách sử dụng giá trị thuộc tính tên của phần tử làm khóa

echo ‘& lt; h2 & gt; dữ liệu biểu mẫu được truy xuất bằng cách sử dụng biến $ _REQUEST & lt; h2 / & gt;’

$ firstname = $ _REQUEST [‘firstname’];
$ lastname = $ _REQUEST [‘lastname’];

// hiển thị kết quả
echo ‘Tên của bạn là‘. $ họ. ’‘. $ firstname;

// kiểm tra xem phương thức đăng có được sử dụng để gửi biểu mẫu hay không

if (filter_has_var (INPUT_POST, ‘submit’)) {

echo ‘& lt; h2 & gt; dữ liệu biểu mẫu được truy xuất bằng cách sử dụng biến $ _POST & lt; h2 / & gt;’

$ firstname = $ _POST [‘firstname’];
$ lastname = $ _POST [‘lastname’];

// hiển thị kết quả
echo ‘Tên của bạn là‘. $ họ. ’‘. $ firstname;
}

// kiểm tra xem phương thức get có được sử dụng để gửi biểu mẫu hay không

if (filter_has_var (INPUT_GET, ‘submit’)) {

echo ‘& lt; h2 & gt; dữ liệu biểu mẫu được truy xuất bằng cách sử dụng biến $ _GET & lt; h2 / & gt;’

$ firstname = $ _GET [‘firstname’];
$ lastname = $ _GET [‘lastname’];
}

// hiển thị kết quả
echo ‘Tên của bạn là‘. $ họ. ’‘. $ firstname;
thoát ra;
}
{/ codecitation}

Mã biểu mẫu

{codecitation} & lt; form action = ”demo / request-variable.php” method = ”post” & gt;

& lt; input type = ”text” name = ”firstname” placeholder = ”First Name” / & gt;

& lt; input type = ”text” name = ”lastname” placeholder = ”Last Name” / & gt;

& lt; input type = ”submit” name = ”submit” / & gt;
& lt; / form & gt; {/ codecitation}

Giải thích mã

Mã tập lệnh biến $ _REQUEST hoạt động giống hệt như tập lệnh mã $ _GET và $ _POST trước đó ở trên. Nhiệm vụ duy nhất được yêu cầu là thay thế $ _GET và $ _POST bằng biến $ _REQUEST.

Hàm filter_has_var ()

Nó kiểm tra xem có tồn tại một biến của kiểu đầu vào được chỉ định hay không. Nó có hai tham số, filter_has_var (loại, tên_biến) và cả hai tham số đều bắt buộc phải có. Tham số đầu tiên type chỉ định loại đầu vào cần kiểm tra, có thể là bất kỳ giá trị hằng số nào sau đây (INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV). Tham số thứ hai input chỉ định tên biến (thuộc tính tên của phần tử nhập biểu mẫu, name = ”unique-name-here” ) để kiểm tra.

Giải phẫu của phương thức GET

  • Phương thức GET tạo ra một chuỗi truy vấn dài được hiển thị trên thanh địa chỉ của trình duyệt khi biểu mẫu được gửi.
  • Không nên sử dụng phương thức GET để gửi nội dung / thông tin nhạy cảm như mật khẩu vì tất cả nội dung / thông tin đều được hiển thị trên thanh địa chỉ của trình duyệt.
  • Khi gửi dữ liệu biểu mẫu thông qua phương thức GET, bạn chỉ có thể gửi tối đa 2048 ký tự.
  • Không thể sử dụng phương thức GET để gửi dữ liệu nhị phân như hình ảnh, tệp mp3 hoặc pdf tới máy chủ.
  • Khi bạn gửi biểu mẫu thông qua phương thức GET, PHP sẽ tạo một mảng liên kết $ _GET ở định dạng này, $ _GET [‘name as key’] để cho phép bạn truy xuất dữ liệu biểu mẫu.
  • Phương thức GET phù hợp để gửi nội dung / thông tin không nhạy cảm đến máy chủ.

Giải phẫu của phương thức POST

  • Phương thức POST gửi thông tin qua tiêu đề HTTP, tất cả thông tin đều được nhúng trong phần nội dung của yêu cầu HTTP.
  • Phương thức POST có thể được sử dụng để gửi nội dung / thông tin nhạy cảm vì tất cả dữ liệu đều được gửi qua tiêu đề HTTP.
  • Phương pháp này không có giới hạn về lượng thông tin cần gửi đến máy chủ.
  • Phương thức POST cung cấp hỗ trợ để gửi dữ liệu nhị phân như hình ảnh, tệp mp3 hoặc pdf và cũng cung cấp tính năng nâng cao cho việc tải tệp lên máy chủ.
  • Khi bạn gửi biểu mẫu thông qua phương thức POST, PHP sẽ tạo một mảng liên kết $ _POST ở định dạng này, $ _POST [‘name as key’] để cho phép bạn truy xuất dữ liệu biểu mẫu.
Xem Thêm  Trình biên dịch SQL trực tuyến - biên tập sql db2 trực tuyến

Xác thực biểu mẫu

Chúng tôi sẽ lọc và làm sạch dữ liệu đã nhập bằng cách sử dụng hàm preg_replace () trong PHP. Mặc dù, phần mở rộng bộ lọc PHP có thể được sử dụng để thực hiện cùng một tác vụ.

{codecitation} // {/ codecitation}

Hàm Preg_replace ()

Hàm này thực hiện tìm kiếm và thay thế biểu thức chính quy.

{codecitation} preg_replace ($ pattern, $ Replace, $ subject, $ limit, $ count) {/ codecitation}

Lưu ý: Các tham số $ giới hạn và $ count là tùy chọn. Cả hai đều có thể được bỏ qua.

Ví dụ: Mã hàm preg_replace ()

{codecitation} $ firstname = preg_replace (“# [^ \ w] #”, “”, $ _POST [‘firstname’]);

$ lastname = preg_replace (“# [^ \ w] #”, “”, $ _POST [‘lastname’]); {/ codecitation}

Giải thích mã

Tham số đầu tiên: “# [^ \ w] #” đại diện cho một mẫu Biểu thức chính quy, hàm sử dụng mẫu này và xác thực nó với một ký tự từ Biểu thức chính quy (\ w). \ w là một siêu ký tự Regex chỉ khớp với các ký tự của từ (chữ hoa A đến Z trong bảng chữ cái hoặc chữ thường từ a đến z và ký tự gạch dưới _). [^ \ w] khớp với bất kỳ ký tự không phải từ nào. Ký tự băm (#) là công cụ sửa đổi biểu thức chính quy.

Tham số thứ hai: “” là hàm sẽ sử dụng để thay thế bất kỳ ký tự không phải từ nào được tìm thấy trong các giá trị đã nhập. Trong trường hợp này, chúng tôi sẽ thay thế bất kỳ ký tự không phải từ nào được tìm thấy bằng một chuỗi trống.

Tham số thứ ba: $ _POST [‘firstname’] hoặc $ _POST [‘lastname’] đại diện cho các giá trị đã nhập mà bạn đã nhập vào trường biểu mẫu. Hàm kiểm tra các ký tự có trong tham số thứ ba này, sau đó xác thực nó với biểu thức (khớp với bất kỳ ký tự không phải từ nào) trong tham số đầu tiên, nếu tìm thấy bất kỳ ký tự không phải từ nào, hàm sẽ thay thế nó bằng giá trị trong tham số thứ hai (một chuỗi trống).

Người hướng dẫn


Xem thêm những thông tin liên quan đến chủ đề php lấy giá trị biểu mẫu

PHP Cơ bản | Bài 10: Xử lý form và gửi dữ liệu trong PHP – REQUEST – POST – GET

  • Tác giả: Gola – Góc làm web
  • Ngày đăng: 2020-03-06
  • Đánh giá: 4 ⭐ ( 1654 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ⭐️ 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 viết chi tiết: https://goclamweb.com/bai-9-bien-sieu-toan-cuc-trong-php
    👉 👉 Tài liệu tham khảo: https://www.w3schools.com/php/php_superglobals.asp
    —————————————————————————–
    Email liên hệ: admin@goclamweb.com
    Fanpage: https://www.facebook.com/GocLamWeb
    Website: https://goclamweb.com
    © Bản quyền thuộc về Góc Làm Web. Vui lòng không reup video
    © Copyright by Góc Làm Web ☞ Do not Reup

Bài tập PHP có lời giải

  • Tác giả: viettuts.vn
  • Đánh giá: 3 ⭐ ( 5225 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này cung cấp cho bạn danh sách các dạng bài tập PHP có lời giải khác nhau để bạn thực hành khi học. Bài tập PHP cơ bản, chuỗi, regex, quản lý bán hàng.

Xác thực biểu mẫu (form) trong PHP

  • Tác giả: comdy.vn
  • Đánh giá: 4 ⭐ ( 9447 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn bạn cách xác thực biểu mẫu (form) trong PHP và chống các kiểu tấn công XSS phổ biến.

Đặt giá trị mặc định cho biểu mẫu

  • Tác giả: support.microsoft.com
  • Đánh giá: 3 ⭐ ( 3651 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lấy giá trị biểu mẫu form bằng $_POST trong code php

  • Tác giả: lamwebbanhang.blogspot.com
  • Đánh giá: 3 ⭐ ( 6642 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tạo biểu mẫu trong PHP sử dụng phương thức GET và POST

  • Tác giả: t3h.edu.vn
  • Đánh giá: 4 ⭐ ( 9756 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết ngày hôm nay, T3H xin giới thiệu tới bạn các tạo biểu mẫu đăng ký trong PHP bằng cách sử dụng phương thức GET và POST.

Xử lý biểu mẫu trong PHP – PHP Form Handling

  • Tác giả: laptrinhtudau.com
  • Đánh giá: 3 ⭐ ( 6363 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xử lý biểu mẫu trong PHP – PHP Form Handling – Lập Trình Từ Đầu 3 Xử Lý Form Với PHP

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php