Làm cách nào để lấy dữ liệu chuỗi truy vấn trong PHP?

Trong bài đăng này, bạn sẽ tìm hiểu cách lấy các cặp khóa/giá trị từ chuỗi truy vấn URL của trang hiện tại. Xin lưu ý rằng điều này khác với việc trích xuất thông số khóa/giá trị từ URL chuỗi

Truy cập tham số chuỗi truy vấn URL riêng lẻ

Bạn có thể chỉ cần sử dụng siêu toàn cầu $_GET để truy cập các tham số riêng lẻ từ chuỗi truy vấn, ví dụ: như vậy

// https://www.designcise.com/?key1=value1&key2=value2

echo $_GET['key1']; // output: 'value1'
echo $_GET['key2']; // output: 'value2'

Xin lưu ý rằng thực tế là $_GET tự động chuyển thông số qua urldecode(). Do đó, nếu bạn rõ ràng sử dụng urldecode() trên các phần tử $_GET, bạn có thể gặp sự cố

Ngoài ra, hãy lưu ý rằng các tên khóa trùng lặp theo sau dấu ngoặc vuông (ví dụ: ?key[]=value1&key[]=value2) sẽ tạo một mảng con cho khóa đó với các giá trị được lập chỉ mục bằng số. Ví dụ

// https://www.designcise.com/?key[]=value1&key[]=value2

echo $_GET['key'][0]; // output: 'value1'
echo $_GET['key'][1]; // output: 'value2'

Tương tự, nếu các dấu ngoặc vuông có một số văn bản ở giữa chúng, thì mảng con thuộc về khóa sẽ là một mảng kết hợp. Ví dụ

// https://designcise.com/?key[foo]=value1&key[bar]=value2

echo $_GET['key']['foo']; // output: 'value1'
echo $_GET['key']['bar']; // output: 'value2'

Trích xuất tham số truy vấn URL dưới dạng chuỗi

Bạn cũng có thể trích xuất phần chuỗi truy vấn từ URL của trang hiện tại bằng cách sử dụng mảng

// https://www.designcise.com/?key[]=value1&key[]=value2

echo $_GET['key'][0]; // output: 'value1'
echo $_GET['key'][1]; // output: 'value2'
0 như vậy

// https://www.designcise.com/?key1=value1&key2=value2

echo $_SERVER['QUERY_STRING']; // output: 'key1=value1&key2=value2'

Mà sau đó bạn có thể chuyển đổi thành một mảng nếu bạn cần (i. e. nếu vì lý do nào đó bạn không muốn sử dụng $_GET)


Hy vọng bạn tìm thấy bài viết này hữu ích. Nó được xuất bản vào ngày 15 tháng 10 năm 2015 (và được sửa đổi lần cuối vào ngày 06 tháng 5 năm 2021). Hãy thể hiện tình yêu và sự ủng hộ của bạn bằng cách

có hai phương thức gửi biểu mẫu, phương thức đăng như bạn đã thấy truyền dữ liệu đầu vào trong backgroung với các tiêu đề HTTP. Mặt khác, phương thức get thêm dữ liệu đầu vào dưới dạng một loạt các cặp giá trị tên trong chuỗi truy vấn ở cuối URL, trang này chứa một biểu mẫu tìm kiếm đơn giản. Một trường đầu vào có tên thuật ngữ tìm kiếm. Và nút gửi với tên tìm kiếm. Vì vậy, hãy xem cách chuỗi truy vấn được tạo trong trình duyệt. Vì vậy, chúng tôi cần truy cập đúng trang, chúng tôi đang ở trong thư mục 05_02 và tên của trang là get. php. Có biểu mẫu của chúng tôi, hãy tìm kiếm một số bông hoa, hãy thử một số bông cúc và nhấp vào tìm kiếm và trang đã được tải lại và URL hiện có một chuỗi truy vấn. Đó là dấu hỏi theo sau cụm từ tìm kiếm là tên của trường tìm kiếm. Và giá trị được chèn vào nó bằng dấu hoa cúc và tìm kiếm bằng tìm kiếm. Đó là tên của nút gửi và cũng là giá trị được hiển thị trên nút gửi. Vì vậy, nếu tôi tìm kiếm một loại hoa khác, giả sử chúng ta tìm kiếm một số hoa lan. Và gửi tìm kiếm. Cụm từ tìm kiếm thay đổi thành hoa lan. Vậy làm thế nào để bạn có được các giá trị từ một chuỗi truy vấn? . PHP tự động tạo một mảng kết hợp được gọi là get, sử dụng thuộc tính name làm khóa cho từng phần tử mảng của biểu mẫu đã được gửi bằng phương thức get. Vì vậy, hãy hiển thị cụm từ tìm kiếm của chúng tôi trong trang. Và sau biểu mẫu, trước tiên chúng ta cần thêm một khối mã PHP. Chúng tôi cần đảm bảo rằng nhận cụm từ tìm kiếm đã được đặt, bởi vì nếu chúng tôi cố gắng hiển thị cụm từ đó, nếu nó chưa được đặt, chúng tôi sẽ nhận được thông báo lỗi. Vì vậy, chúng tôi cần một câu lệnh if và điều kiện sẽ là, sử dụng hàm isset và chúng tôi đang tìm kiếm GET là $_GET, tất cả đều viết hoa, phân biệt chữ hoa chữ thường. Và sau đó phần tử mảng mà chúng tôi đang tìm kiếm là cụm từ tìm kiếm. Và sau đó chúng ta cần một dấu ngoặc nhọn mở và sau đó tôi sẽ đóng khối PHP của mình ở đó và tôi sẽ thêm một đoạn văn. Và chúng tôi sẽ nói, bạn đã tìm kiếm. Và sau đó là một thẻ PHP mở khác và chúng tôi sẽ lặp lại giá trị đó. Vì vậy, nó lặp lại mảng GET và phần tử chúng tôi đang tìm kiếm là thuật ngữ tìm kiếm. Sau đó, chúng ta sẽ có một dấu chấm và một thẻ đóng đoạn văn và sau đó tất nhiên chúng ta cần đóng câu lệnh if đó, chúng ta cần một khối PHP khác chỉ dành cho dấu ngoặc nhọn đóng. Lưu trang đó. Quay lại trình duyệt. Và lần này, tôi sẽ đưa vào, lần này chúng ta sẽ tìm kiếm điều gì? . Bạn đã tìm kiếm hoa thủy tiên vàng. Và nếu tôi để trống trường và nhấp vào tìm kiếm, bạn đã tìm kiếm chỗ trống. Đó là một điều quan trọng cần lưu ý. Biến đó được đặt, ngay cả khi trường tìm kiếm trống. Vì vậy, mảng GET là một mảng siêu toàn cầu khác của PHP được tự động hình thành bất cứ khi nào một trang được yêu cầu. Nó lưu trữ các cặp giá trị tên được thêm vào cuối URL trong chuỗi truy vấn. Tên được sử dụng làm khóa mảng. Trong ví dụ này, chúng tôi sử dụng biểu mẫu tìm kiếm được gửi bởi phương thức GET nhưng như bạn sẽ thấy trong chương tiếp theo, mảng GET cũng có thể được sử dụng để trích xuất các giá trị từ bất kỳ chuỗi truy vấn nào

Thực hành trong khi bạn học với các tập tin bài tập

Tải xuống các tệp mà người hướng dẫn sử dụng để dạy khóa học. Theo dõi và học hỏi bằng cách xem, nghe và thực hành

Tải xuống các khóa học và học mọi lúc, mọi nơi

Xem các khóa học trên thiết bị di động của bạn mà không cần kết nối internet. Tải xuống các khóa học bằng ứng dụng LinkedIn Learning trên iOS hoặc Android của bạn

Download on the App Store Get it on Google Play

  • 1. Giới thiệu về PHP 1. Giới thiệu về PHP

  • 2. Sử dụng Bao gồm phía máy chủ cho các thành phần trang chung 2. Sử dụng Bao gồm phía máy chủ cho các phần tử trang chung

  • 3. Sử dụng điều kiện để thay đổi đầu ra trang 3. Sử dụng điều kiện để thay đổi đầu ra trang

  • 4. Làm việc với nhiều giá trị trong mảng và vòng lặp 4. Làm việc với nhiều giá trị trong mảng và vòng lặp

    Làm cách nào để nhận các giá trị chuỗi truy vấn trong PHP?

    Các tham số từ một chuỗi URL có thể được truy xuất trong PHP bằng cách sử dụng các hàm parse_url() và parse_str() .

    Chuỗi truy vấn trong PHP là gì?

    Chuỗi truy vấn là một phần của bộ định vị tài nguyên thống nhất (URL) gán giá trị cho các tham số đã chỉ định .

    $_ NHẬN trong PHP là gì?

    PHP $_GET là một biến siêu toàn cầu PHP được sử dụng để thu thập dữ liệu biểu mẫu sau khi gửi biểu mẫu HTML bằng method="get" . $_GET cũng có thể thu thập dữ liệu được gửi trong URL. Giả sử chúng ta có một trang HTML chứa một siêu liên kết với các tham số.

    Làm cách nào để kiểm tra xem chuỗi truy vấn có trống trong PHP không?

    Nếu bạn có một chuỗi truy vấn là query=string thì giá trị là "string" nếu thay vào đó bạn sử dụng. query=null giá trị sẽ là "null". Lưu ý rằng do đó nó là một chuỗi. Nếu bạn gửi. query= , giá trị sẽ là "" hoặc chuỗi rỗng.