Chuyển đổi chuỗi thành URL PHP

Các chuỗi truy vấn URL được định dạng dưới dạng một loạt các cặp tham số/giá trị với "=" ở giữa chúng, "&" để nối chúng và dấu "?"

//example.com/some/path?param=value¶m=value¶m=value

Đọc tham số truy vấn

PHP có thể đọc các giá trị tham số truy vấn được gửi đến trang được liên kết. PHP tự động gán tất cả các tham số truy vấn này cho $_GET superglobal. Nó được gọi là "$_GET" vì các liên kết là các yêu cầu GET. [Biểu mẫu là yêu cầu POST. ]

$_GET là một mảng kết hợp và các giá trị của nó có thể được truy cập giống như bất kỳ mảng kết hợp nào

Luôn xác nhận rằng giá trị $_GET được đặt trước khi làm việc với nó. Trong một số cấu hình, PHP sẽ hiển thị thông báo cảnh báo khó chịu nếu bạn cố truy cập vào khóa mảng kết hợp chưa được đặt

Đây cũng là một thói quen mã hóa tốt để kiểm tra, trích xuất và dọn sạch các giá trị từ $_GET ở đầu trang, không trộn lẫn với HTML

Trong đoạn mã sau, hãy liên hệ. php chỉ hiển thị một liên kết nếu

9

// contact.php


Contact Us


  Homepage

Mã hóa các giá trị $_GET

URL có thể chứa hầu hết các ký tự phổ biến [chữ cái, số, dấu gạch dưới, dấu gạch ngang]. Họ không thể có không gian. Ngoài ra còn có một số ký tự dành riêng có ý nghĩa đặc biệt trong URL và không thể sử dụng được

Các ký tự URL dành riêng

!  #  $  %  &  '  [  ]  *  +  ,  /  :  ;  =  ?  @  [  ]

Nếu bất kỳ ký tự nào trong số này được sử dụng trong một URL, thì chúng có thể khiến URL đó hoạt động không chính xác. Do đó chúng phải được mã hóa [i. e. "đã chuyển đổi"] để chúng không can thiệp vào chức năng của URL. Điều này rất quan trọng khi chúng ta đang sử dụng PHP để xuất các giá trị động được sử dụng trong URL, chẳng hạn như trong chuỗi truy vấn

Có nhiều loại mã hóa khác nhau tùy thuộc vào ngữ cảnh. Mã hóa cho một URL có nghĩa là chuyển đổi các ký tự thành "%" theo sau là hai chữ số thập lục phân

thập lục phân. Các số bình thường nằm trong khoảng từ 0-9. Các số thập lục phân bao gồm 0-9 nhưng cũng thêm các chữ cái A-F là "chữ số". Mỗi chữ số có 16 khả năng thay vì 10

Ví dụ:

// index.php

Contact Us
0 sẽ được mã hóa thành
// index.php

Contact Us
1 và
// index.php

Contact Us
2 sẽ được mã hóa thành
// index.php

Contact Us
3

Hàm mã hóa PHP

PHP có hai chức năng để mã hóa các chuỗi để sử dụng trong một URL

mã url[]

  • Mã hóa hầu hết các ký tự không phải chữ và số thành
    // index.php
    
    Contact Us
    4 + 2 chữ số thập lục phân
  • Không gian được mã hóa thành
    // index.php
    
    Contact Us
    5
  • Đối với các chuỗi được sử dụng trong chuỗi truy vấn URL [sau
    // index.php
    
    Contact Us
    2]

rawurlencode[]

  • Mã hóa hầu hết các ký tự không phải chữ và số thành
    // index.php
    
    Contact Us
    4 + 2 chữ số thập lục phân
  • Không gian được mã hóa thành
    // index.php
    
    Contact Us
    8
  • Đối với các chuỗi được sử dụng trong chuỗi đường dẫn URL [trước
    // index.php
    
    Contact Us
    2]

Sự khác biệt giữa hai chức năng này chỉ là cách xử lý khoảng trắng. Trong nhiều trường hợp, điều đó không thành vấn đề và máy chủ sẽ xử lý chính xác một trong hai. Tuy nhiên, có một vài trường hợp nó quan trọng. Khuyến nghị tốt nhất là sử dụng rawurlencode[] cho đường dẫn URL, là phần sau

//example.com/some/path?param=value¶m=value¶m=value
0 và trước bất kỳ
// index.php

Contact Us
2 nào và sử dụng urlencode[] cho chuỗi truy vấn URL, là phần sau
// index.php

Contact Us
2 nơi PHP sẽ thường xuất tham số

Ví dụ

8

Điều cần thiết là tất cả các giá trị động phải được mã hóa trước khi được sử dụng trong URL cho các liên kết và biểu mẫu. Nếu không, có thể có nhiều trường hợp URL sẽ không hoạt động

Các hàm giải mã PHP

PHP cũng có hai chức năng để giải mã các chuỗi này để trả về các ký tự ban đầu của chúng

mã url[]. Giải mã các chuỗi được mã hóa bằng urlencode[]

rawurldecode[]. Giải mã các chuỗi được mã hóa bằng rawurlencode[]

Tuy nhiên, các chức năng này hiếm khi cần thiết vì PHP tự động giải mã các tham số truy vấn trước khi gán chúng cho $_GET

Làm cách nào để tạo một URL trong PHP?

Các biến siêu toàn cầu cần thiết như $_SERVER['HTTPS'], $_SERVER['REQUEST_URI'], $_SERVER['SERVER_PORT'] are used to get full URL in PHP. The variable HTTPS can easily retrieve the protocol in the URL of a webpage. If it returns a value “on”, then the protocol is HTTPS.

Làm cách nào để mã hóa id trong URL trong PHP?

inc. trang php. $customer_id = $_GET['id']; . $decryped_id .

Làm cách nào để mã hóa và giải mã URL trong PHP?

Hàm urldecode[] là một hàm có sẵn trong PHP dùng để giải mã url được mã hóa bởi hàm encoded[] . Thông số. Hàm này chấp nhận tham số duy nhất $input giữ url được giải mã. Giá trị trả về. Hàm này trả về chuỗi đã giải mã thành công.

Quá trình chuyển đổi chuỗi thành định dạng URL hợp lệ là gì?

Mã hóa URL là quá trình chuyển đổi chuỗi thành định dạng URL hợp lệ.

Chủ Đề