Chức năng nào được sử dụng để chuyển hướng một trang trong php?

Cơ chế chuyển hướng PHP được sử dụng để điều hướng người dùng từ trang này sang trang khác mà không cần nhấp vào bất kỳ siêu liên kết nào. Điều này sẽ hữu ích trong những trường hợp mà việc chuyển hướng phải được thực hiện ở chế độ nền

Ví dụ: khi người dùng đang truy cập cổng thanh toán, chuyển hướng sẽ tự động được thực hiện để thông báo URL bằng cách sử dụng tập lệnh PHP

PHP cung cấp chức năng được xác định trước, có tên là tiêu đề (), để chuyển hướng URL. Sử dụng hàm header() này, chúng ta cần gửi tiêu đề vị trí bằng cách chỉ định URL mà trang sẽ được chuyển hướng đến

Không giống như chuyển hướng JavaScript, nơi có một số cách để xử lý chuyển hướng URL hoạt động dựa trên trình duyệt, PHP tránh sự nhầm lẫn đó và có chức năng header() để tạo hiệu ứng tương tự trong tất cả các trình duyệt. Chỉ vì điều đó, chúng tôi đã kết luận với bài viết chuyển hướng JavaScript rằng chuyển hướng phía máy chủ tốt hơn

Cú pháp chuyển hướng PHP

header("Location: target-url");

Trong cú pháp chuyển hướng PHP ở trên, chúng ta cần thay thế nó bằng một URL hợp lệ mà chúng ta muốn chuyển đến. Chúng tôi có thể chỉ định URL tuyệt đối hoặc URL tương đối cho tiêu đề vị trí này. Nếu chúng tôi chỉ định một URL tương đối, nó sẽ tìm kiếm trang trong miền của chúng tôi nơi chúng tôi tồn tại

Ghi chú. Trước khi chỉ định URL trang cho tiêu đề vị trí, chúng ta phải đảm bảo rằng trang đó tồn tại

Thận trọng trước khi chuyển hướng

Trước khi thực hiện chuyển hướng PHP, chúng ta nên đảm bảo rằng không có đầu ra nào được gửi đến trình duyệt trước dòng nơi chúng ta gọi hàm header(). Ví dụ,


Tập lệnh này sẽ hiển thị thông báo cảnh báo sau cho trình duyệt

Warning: Cannot modify header information - headers already sent by (...

Nó không chỉ áp dụng cho hàm tiêu đề mà còn cho tất cả các hàm PHP như set_cookie(), session_start(), v.v. , bất cứ điều gì có thể sửa đổi tiêu đề. Vì vậy, chúng ta nên xóa tất cả nội dung sẽ ngừng gửi tiêu đề vị trí tới trình duyệt

Chuyển hướng PHP là một công cụ cực kỳ hữu ích, nhưng chúng cũng có thể nguy hiểm nếu không được triển khai đúng cách

Nếu bạn đã xem qua phần giới thiệu của chúng tôi về PHP 7. 4 và hướng dẫn của chúng tôi về cách xây dựng trang web trong 5 phút, bạn sẽ biết rằng hàm header() có thể được sử dụng để dễ dàng chuyển hướng người dùng đến một trang khác. Tuy nhiên, trên thực tế, việc sử dụng chức năng này không đơn giản như người ta tưởng. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tạo một chuyển hướng PHP mà không gây ra các vấn đề lớn về sau

Chức năng nào được sử dụng để chuyển hướng một trang trong php?

Phương thức cơ bản để chuyển hướng PHP

Hầu hết các hướng dẫn sẽ cho bạn biết rằng để tạo chuyển hướng PHP, bạn chỉ cần sử dụng hàm header() ở đầu trang của mình. Để làm được điều đó, bạn sử dụng chức năng gửi một URL mới, như thế này

header('Location: '.$newURL.php);

This header function should be put before you pass any HTML or text to your users’ browsers, so it should be right at the top of the page. That means it should come before the declaration, before any Java, and before any PHP code. It will then send users to the new URL.

Mặc dù có vẻ đơn giản, nhưng khi nói đến hàm header(), sự đơn giản của mã có thể khiến các nhà phát triển có cảm giác an toàn sai lầm. Vì vậy, hãy xem cách bạn có thể sử dụng chức năng này một cách chính xác

Chết () và Thoát ()

Đầu tiên, bạn nên sử dụng công cụ sửa đổi die() hoặc exit() mỗi khi bạn sử dụng chuyển hướng. Tóm lại, vấn đề là các trình thu thập thông tin và bot có thể bỏ qua các tiêu đề và do đó, trang mà bạn cho rằng mình đang chuyển hướng khỏi đó hoàn toàn có thể truy cập được đối với chúng. Nói cách khác, nếu bạn đang sử dụng chuyển hướng tiêu đề để bảo vệ một trang cụ thể, thì nó không bảo vệ bạn chút nào

Đó là lý do tại sao bạn phải dừng xử lý phần còn lại của trang, trong trường hợp chuyển hướng bị bỏ qua. Cách để làm điều đó là thêm die() hoặc exit() sau chuyển hướng của bạn

header("Location: .$newURL.php");
die();

URL tương đối và tuyệt đối

Tiếp theo, hãy nói về URL tương đối và tuyệt đối trong chuyển hướng. cho phép bạn sử dụng cả hai, nhưng bạn nên cực kỳ cẩn thận khi sử dụng chuyển hướng tương đối. Đó là bởi vì một số nhà xây dựng trang web đối chiếu và đổi tên các trang PHP. Điều này có nghĩa là nếu bạn đang làm việc trên PHP của mình thông qua một trình tạo trang web, bạn có thể sẽ phá vỡ tất cả các chuyển hướng của mình

Thật không may, hiện tại không có cách thực sự nào để giải quyết vấn đề này, nếu không có cái nhìn tổng quan cẩn thận về nơi các chuyển hướng của bạn đang trỏ đến

Mã trạng thái

Vấn đề thứ ba với các chuyển hướng PHP tiêu chuẩn là toán tử “vị trí” của PHP vẫn trả về mã HTTP 302. Bạn không nên cho phép nó làm điều đó, bởi vì nhiều trình duyệt web triển khai mã này theo cách hoàn toàn trái ngược với cách mà nó được cho là hoạt động. về cơ bản họ sử dụng lệnh GET thay vì thực hiện chuyển hướng "thực"

Do đó, cách thực hành tốt nhất khi xây dựng các chuyển hướng PHP là chỉ định mã được trả về. Thật không may, mã chính xác để sử dụng là một điểm gây tranh cãi. HTTP 301 cho biết chuyển hướng vĩnh viễn, điều này có thể khiến bạn gặp sự cố khi khôi phục trang gốc của mình. Rất tiếc, HTTP 303 được nhiều trình duyệt hiểu là “khác” và có thể gây ra sự cố khi lập chỉ mục trang của bạn thông qua các công cụ tìm kiếm

Trong thực tế, và cho đến khi tình trạng này được giải quyết, hãy sử dụng HTTP 303

Kiểm tra tài liệu

Ngoài việc thực hiện các biện pháp phòng ngừa cơ bản ở trên, bạn nên dành chút thời gian để đọc tài liệu về cách sử dụng chuyển hướng PHP trước khi xuất bản chúng. Bạn nên kiểm tra hướng dẫn sử dụng PHP để đảm bảo rằng bạn hiểu những gì bạn đang làm, cũng như kiểm tra để đảm bảo rằng bạn đang thực hành tốt nhất

Và trong khi bạn đang bắt kịp bài đọc của mình, hãy đảm bảo rằng bạn cũng bảo vệ trang web khỏi các lỗ hổng phổ biến. nếu bạn đã ở trong tình thế phải sử dụng chuyển hướng PHP, có khả năng bảo mật trang web của bạn sẽ cần được kiểm tra

Chức năng nào được sử dụng để chuyển hướng một trang trong php?

Các phương pháp khác

Với tất cả những vấn đề này, có lẽ bạn đang tự hỏi tại sao bạn lại sử dụng chuyển hướng PHP. Đó là một câu hỏi chính đáng. Mặc dù các chuyển hướng PHP thường được thực hiện nhanh hơn các loại chuyển hướng khác và do đó có thể là một công cụ quan trọng trong việc cải thiện tốc độ trang web, vẫn có các tùy chọn khác

There are two main approaches to doing this. You can either use the HTML element to redirect from within the HTML portion of your page,  or use JavaScript. The first approach – using would look like this:

Cách tiếp cận thứ hai – sử dụng JavaScript – thanh lịch hơn một chút và chắc chắn trông chuyên nghiệp hơn

window.location.replace("http://newpage.php/");

Cả hai cách tiếp cận này sẽ thực thi chậm hơn một chút so với chuyển hướng tiêu đề () ngay lập tức, nhưng được cho là linh hoạt hơn

Đảm bảo trang web của bạn có thể xử lý mọi thứ – từ lưu lượng truy cập cao đến thời gian tải nhanh, v.v. Mua dịch vụ lưu trữ web

Một Lời Cuối Cùng

Mặc dù làm theo các bước trên có nghĩa là chuyển hướng PHP của bạn thực thi an toàn, nhưng nếu bạn đang ở vị trí sử dụng nhiều chuyển hướng PHP, có lẽ đã đến lúc bạn nên suy nghĩ lại về cấu trúc trang web của mình

Có một vài lý do chính đáng để làm điều đó. Đầu tiên là không phải tất cả các máy chủ web đều được tạo ra như nhau và nếu bạn đang gửi tất cả khách truy cập của mình trên một tuyến đường vòng quanh trang web của mình, điều này sẽ ảnh hưởng đến hiệu suất của nó. Điều này có thể được cải thiện ở một mức độ nào đó bằng cách sử dụng một nhà cung cấp dịch vụ lưu trữ web giá cả phải chăng, nhưng chỉ ở một mức độ nhất định

Lý do thứ hai là trang bạn đang chuyển hướng có thể đang thu thập dữ liệu về khách truy cập của bạn mà bạn không biết, đặc biệt nếu bạn đang sử dụng phần mềm phân tích trang web để theo dõi hiệu suất trang web của mình. Trong thế giới hậu GDPR của chúng ta, điều đó có thể gây ra những hậu quả đáng kể

Vì vậy, tóm lại. hãy cẩn thận với các chuyển hướng PHP, sử dụng chúng đúng cách và chỉ sử dụng chúng ở đâu và khi nào bạn thực sự phải làm

Tác giả

Dominyka tôi

Dominykas bắt đầu với tư cách là Chuyên gia tiếp thị và hiện đang làm việc với tư cách là Biên tập viên nội dung và Trưởng nhóm. Khi không đảm bảo chất lượng bài viết, anh ấy thích vừa đọc vừa viết tiểu thuyết

Thêm từ Dominykas I

Chức năng nào được sử dụng để chuyển hướng một trang trong php?

Đồng tác giả

Ignas T

Ignas là một phần của đội ngũ Kỹ thuật của Hostinger. Anh ấy đảm nhận việc quản trị và giám sát máy chủ, đặc biệt tập trung vào ảo hóa phần mềm. Trong thời gian rảnh rỗi, anh ấy luôn sẵn sàng cho một chuyến phiêu lưu trượt tuyết hoặc chèo thuyền kayak hoặc một đêm trò chơi trên bàn cờ

Làm cách nào để chuyển hướng trang hiện tại trong PHP?

Trả lời. Sử dụng hàm PHP header() . Mã PHP trong ví dụ sau sẽ chuyển hướng người dùng từ trang mà nó được đặt tới URL http. //www. ví dụ. com/trang-khác. php. Bạn cũng có thể chỉ định các URL tương đối.

Làm cách nào để liên kết một trang PHP với một trang khác?

Chúng tôi có thể sử dụng thẻ Anchor để liên kết nút Gửi đến một trang khác trong PHP . Chúng ta cần Viết/Khai báo nút Gửi giữa thẻ Bắt đầu và thẻ Đóng của thẻ Anchor. Bằng cách sử dụng thuộc tính href=”” của thẻ Anchor, chúng tôi có thể cung cấp Đường dẫn nơi chúng tôi muốn Liên kết Nút Gửi của mình.

Chức năng nào sau đây được sử dụng để chuyển hướng một trang *?

Để chuyển hướng các trang từ trang này sang trang khác trong PHP, chúng tôi đã sử dụng hàm header() .

Làm cách nào để chuyển hướng đến một trang khác có ID trong PHP?

Tất cả những gì bạn cần làm là chuyển một chuỗi đến Vị trí . Và với code của bạn, nó sẽ chuyển hướng đến vị trí được chỉ định bởi chuỗi, không in nó. Đó là bởi vì, bạn đang đặt tiếng vang ngay sau dấu chấm. . echo dự kiến ​​​​sẽ đến ở dòng mới nơi dòng khác kết thúc hoặc ở dòng đầu tiên.