Làm cách nào để chuyển hướng đến một trang khác có dữ liệu bài đăng trong PHP?

Chuyển hướng cho phép bạn chuyển hướng trình duyệt máy khách đến một URL khác. Bạn có thể sử dụng nó khi chuyển đổi tên miền, thay đổi cách cấu trúc trang web của bạn hoặc chuyển sang HTTPS

Trong bài viết này, tôi sẽ hướng dẫn bạn cách chuyển hướng đến một trang khác bằng PHP. Tôi sẽ giải thích chính xác cách hoạt động của chuyển hướng PHP và cho bạn thấy điều gì xảy ra đằng sau hậu trường

Học PHP với một khóa học trực tuyến miễn phí

Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP

  • Nguyên tắc cơ bản PHP

    Jeremy McPeak

    29 Thg 10 2021

Chuyển hướng cơ bản hoạt động như thế nào?

Trước khi chúng tôi đi sâu vào các chi tiết cụ thể của chuyển hướng PHP, hãy nhanh chóng hiểu chính xác cách hoạt động của chuyển hướng HTTP. Hãy nhìn vào sơ đồ sau

Hãy hiểu những gì đang xảy ra trong ảnh chụp màn hình ở trên

  • Trình duyệt máy khách yêu cầu một trang cụ thể từ máy chủ. Trong ví dụ trên, khách hàng đã yêu cầu nội dung của chỉ mục. tập tin php
  • Máy chủ nhận chỉ mục. yêu cầu tệp php và muốn thông báo cho khách hàng rằng nó không còn khả dụng hoặc đã chuyển đi nơi khác và thay vào đó, nó sẽ tìm đến một tệp mới. new_index. php. Máy chủ gửi tiêu đề Location với một URL mới cùng với mã HTTP 301 hoặc 302. Đây là các mã HTTP để chuyển hướng
  • Khi trình duyệt máy khách gặp mã 301 hoặc 302, nó biết rằng nó phải bắt đầu một yêu cầu khác tới một URL mới để tìm nạp nội dung. Nó bắt đầu yêu cầu tìm nạp tệp
    0 trong ví dụ trên
  • Cuối cùng, một máy chủ sẽ gửi nội dung của URL mới

Vì vậy, đó là cách hoạt động của chuyển hướng HTTP cơ bản. Trong phần tiếp theo, chúng ta sẽ thảo luận về cách hoạt động của chuyển hướng PHP

Cách chuyển hướng hoạt động trong PHP

Trong PHP, khi bạn muốn chuyển hướng người dùng từ trang này sang trang khác, bạn cần sử dụng hàm

1. Chức năng tiêu đề cho phép bạn gửi tiêu đề vị trí HTTP thô, thực hiện chuyển hướng thực tế như chúng ta đã thảo luận trong phần trước

Cách sử dụng chức năng tiêu đề

Hãy xem qua cú pháp của hàm

1

header[ $header, $replace, $http_response_code ]
  • 3. Đây là chuỗi tiêu đề HTTP mà bạn muốn sử dụng. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng tiêu đề Location để chuyển hướng
  • 5. Đó là một tham số tùy chọn cho biết liệu tiêu đề có nên thay thế tiêu đề tương tự trước đó hay không
  • 0. Nó cho phép bạn gửi một mã phản hồi cụ thể

Bây giờ, hãy xem ví dụ sau để hiểu cách tất cả hoạt động cùng nhau

Khi đoạn mã trên được thực thi, nó sẽ chuyển hướng trình duyệt máy khách tới http. //www. trang web của bạn. com/new_index. php. Ở chế độ nền, nó gửi tiêu đề HTTP Location thô cùng với mã trạng thái 302. Mã trạng thái 302 được sử dụng để chuyển hướng tạm thời, nhưng nếu bạn muốn chuyển hướng vĩnh viễn, bạn có thể chuyển mã 301 vào đối số thứ ba, như minh họa trong đoạn mã sau

Chuyển hướng vĩnh viễn 301 cho phép bạn thông báo cho các bot tìm kiếm rằng trang này không còn nữa và nó có thể được thay thế bằng một trang mới

Tại sao bạn nên sử dụng hàm
2 hoặc 
3 sau khi chuyển hướng tiêu đề?

Người dùng tinh mắt sẽ nhận thấy rằng tôi đã sử dụng hàm

4 trong ví dụ trên. Trên thực tế, bạn bắt buộc phải sử dụng hàm 
4 hoặc hàm 
6 ngay sau khi chuyển hướng tiêu đề để dừng thực thi tập lệnh và tránh mọi kết quả không mong muốn

Vì vậy, chúng tôi luôn khuyên bạn nên sử dụng một trong các chức năng này sau khi chuyển hướng

Lỗi nổi tiếng. Tiêu đề đã được gửi

Nếu bạn là một lập trình viên PHP có kinh nghiệm, tôi chắc rằng bạn đã từng gặp phải lỗi PHP nổi tiếng này tại một số thời điểm trong quá trình phát triển PHP hàng ngày của mình. Tuy nhiên, đối với những người mới bắt đầu, gặp phải lỗi này thực sự rất khó chịu, vì nó thực sự khó gỡ lỗi và sửa chữa. Trong hầu hết các trường hợp, họ thậm chí không biết rằng nguyên nhân là do chuyển hướng tiêu đề

Nguyên tắc chung là khi bạn sử dụng hàm

1 trong tập lệnh của mình, bạn cần đảm bảo rằng bạn không gửi bất kỳ đầu ra nào trước hàm đó. Nếu không, PHP sẽ khiếu nại với lỗi "tiêu đề đã được gửi". Điều này có thể xảy ra ngay cả khi bạn đã gửi một khoảng trắng trước khi sử dụng chức năng tiêu đề

Sự kết luận

Trong bài đăng này, chúng tôi đã thảo luận về một trong những tính năng quan trọng của lập trình PHP. chuyển hướng. Đầu tiên, chúng ta đã tìm hiểu những kiến ​​thức cơ bản về chuyển hướng HTTP, sau đó tôi trình bày cách thức hoạt động của nó trong PHP

Tập lệnh PHP tốt nhất trên CodeCanyon

Khám phá hàng ngàn tập lệnh PHP tốt nhất và hữu ích nhất từng được tạo trên CodeCanyon. Với khoản thanh toán một lần với chi phí thấp, bạn có thể mua một trong những chủ đề WordPress chất lượng cao này và cải thiện trải nghiệm trang web cho bạn và khách truy cập của bạn

Làm cách nào để chuyển hướng với dữ liệu bài đăng trong PHP?

Một chức năng sao chép và dán PHP cho phép bạn chuyển hướng trình duyệt bằng phương thức POST . Lệnh gọi hàm đó khiến một biểu mẫu được tạo bằng JavaScript tự động gửi dữ liệu theo phương thức đăng, chuyển hướng trình duyệt trong quá trình này.

Làm cách nào để chuyển hướng dữ liệu từ trang này sang trang khác trong PHP?

Chuyển hướng từ trang này sang trang khác trong PHP thường được thực hiện bằng hai cách sau. Sử dụng hàm tiêu đề trong PHP . Hàm header[] là một hàm có sẵn trong PHP được sử dụng để gửi tiêu đề HTTP [Giao thức truyền siêu văn bản] thô tới máy khách.

Bạn có thể chuyển hướng một yêu cầu bài viết?

để đáp lại yêu cầu POST. Thay vào đó, RFC chỉ đơn giản tuyên bố rằng trình duyệt sẽ cảnh báo người dùng và đưa ra tùy chọn tiếp tục hoặc hủy bỏ mà không đăng lại dữ liệu vào vị trí mới. Trừ khi bạn viết mã máy chủ phức tạp, bạn không thể buộc chuyển hướng POST và giữ nguyên dữ liệu đã đăng .

Làm cách nào để chuyển hướng đến một trang khác trong PHP với các tham số?

Cách đơn giản nhất để chuyển hướng đến một URL khác là sử dụng thẻ . The content attribute sets the delay before the browser redirects the user to the new web page. To redirect immediately, set this parameter to “0” seconds for the content attribute.

Chủ Đề