Làm cách nào để lấy tham số chuỗi truy vấn trong PHP?

Cách đây ít lâu, tôi đã đăng cách trích xuất tên miền, đường dẫn, v.v. từ một url bằng PHP và trong bài đăng tiếp theo này cho biết cách trích xuất chuỗi truy vấn thành một mảng kết hợp bằng cách sử dụng hàm parse_str

Trích xuất chuỗi truy vấn bằng parse_url

Trong ví dụ này, chúng tôi sẽ xem xét URL từ truy vấn [chris hope] tại Google [nhân tiện, tôi không hiển thị cho đến trang thứ hai] trông như thế này

//www.google.com/search?hl=en&source=hp&q=chris+hope&btnG=Google+Search&meta=&aq=f&oq=

Sử dụng parse_url, chúng ta có thể dễ dàng trích xuất chuỗi truy vấn như vậy

$parts = parse_url[$url];
echo $parts['query'];

Đầu ra từ trên sẽ là cái này

hl=en&source=hp&q=chris+hope&btnG=Google+Search&meta=&aq=f&oq=

Bên cạnh đó, trước khi tiếp tục sử dụng parse_str để trích xuất các phần riêng lẻ của chuỗi truy vấn, hãy thực hiện print_r[$parts] sẽ hiển thị điều này

Array
[
    [scheme] => http
    [host] => www.google.com
    [path] => /search
    [query] => hl=en&source=hp&q=chris+hope&btnG=Google+Search&meta=&aq=f&oq=
]

Trích xuất các phần chuỗi truy vấn bằng parse_str

Hàm parse_str nhận một hoặc hai tham số [tham số thứ hai từ PHP 4. 0. 3] và không trả về bất kỳ giá trị nào. Nếu có tham số thứ hai, các giá trị từ chuỗi truy vấn được trả về trong tham số đó dưới dạng một mảng kết hợp. Nếu nó không có mặt, thay vào đó chúng được đặt thành các biến trong phạm vi hiện tại, điều này không thực sự lý tưởng

Vì vậy, không có tham số đầu tiên

parse_str[$parts['query']];

Bây giờ bạn có thể lặp lại giá trị "q" như thế này

echo $q;

Theo ý kiến ​​của tôi, sẽ tốt hơn nếu các giá trị được trả về dưới dạng một mảng như vậy

parse_str[$parts['query'], $query];

Bây giờ làm print_r[$query] sẽ xuất ra cái này

Array
[
    [hl] => en
    [source] => hp
    [q] => chris hope
    [btnG] => Google Search
    [meta] =>
    [aq] => f
    [oq] =>
]

Giá trị "q" bây giờ có thể được lặp lại như thế này

________số 8

Theo dõi bài viết

Hãy đọc bài viết của tôi có tiêu đề "PHP. lấy từ khóa từ url tham chiếu của công cụ tìm kiếm" để tìm hiểu cách sử dụng hàm parse_url kết hợp với hàm parse_str để xem chuỗi truy vấn mà khách truy cập đã nhập vào công cụ tìm kiếm

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 một 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

  • 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

    Tham số chuỗi truy vấn là gì?

    Tham số chuỗi truy vấn là gì? . Các chuỗi truy vấn ban đầu được sử dụng để ghi lại nội dung của biểu mẫu HTML hoặc biểu mẫu web trên một trang nhất định. extensions of a website's base Uniform Resource Locator [URL] loaded by a web browser or client application. Originally query strings were used to record the content of an HTML form or web form on a given page.

    $_ server [' Query_string '] trong PHP là gì?

    $_SERVER là một mảng chứa thông tin như tiêu đề, đường dẫn và vị trí tập lệnh. Các mục trong mảng này được tạo bởi máy chủ web, do đó không có gì đảm bảo rằng mọi máy chủ web sẽ cung cấp bất kỳ mục nào trong số này;

    Làm cách nào để thêm chuỗi truy vấn trong PHP?

    Hàm http_build_query[] là một hàm sẵn có trong PHP được sử dụng để tạo chuỗi truy vấn được mã hóa URL từ liên kết [hoặc được lập chỉ mục .

    Tên tham số chuỗi truy vấn là gì?

    Tham số URL [còn được gọi là “chuỗi truy vấn” hoặc “tham số truy vấn URL”] là các phần tử được chèn vào URL của bạn để giúp bạn lọc và sắp xếp nội dung hoặc theo dõi thông tin trên trang web của mình . Để xác định tham số URL, hãy tham khảo phần URL xuất hiện sau dấu chấm hỏi [?]. . To identify a URL parameter, refer to the portion of the URL that comes after a question mark [?].

Chủ Đề