Làm cách nào để lặp lại và chuyển hướng trong PHP?
Mã PHP trong ví dụ sau sẽ chuyển hướng người dùng từ trang mà nó được đặt tới URL 4. Bạn cũng có thể chỉ định các URL tương đối Show
Nếu bạn muốn chuyển hướng người dùng từ trang cũ sang trang mới thường xuyên thì cũng đề cập đến mã phản hồi HTTP trong hàm 5 như trong ví dụ sau, để các công cụ tìm kiếm chuyển "thứ hạng trang" từ trang cũ sang trang cũ.Nếu mã trạng thái không được chỉ định rõ ràng, ví dụ: 6 mặc định là 302 (Đã tìm thấy). Để chuyển hướng tạm thời, hãy sử dụng mã trạng thái HTTP 307Một ví dụ về điều này là một trang gửi biểu mẫu. khi bạn điền và gửi biểu mẫu, trang sẽ tự động chuyển hướng bạn đến một “trang cảm ơn” khác, mà không hiển thị lại biểu mẫu Trong trường hợp thứ hai, bạn mở URL đầu tiên và trình duyệt của bạn tải trang A. Sau đó, trình duyệt của bạn được chuyển đến trang B, ngay lập tức hoặc sau khi hết thời gian chờ Loại chuyển hướng này thường xảy ra sau khi thanh toán trực tuyến. trang xác nhận thanh toán cho bạn biết rằng bạn sẽ được chuyển hướng đến trang của cửa hàng sau vài giây Bây giờ, hãy xem cách bạn có thể thực hiện các thao tác này trong PHP Cách chuyển hướng trong PHP. chức năng header() .Trong PHP, bạn có thể thực hiện chuyển hướng trang bằng hàm header() Hãy xem ngay một ví dụ
Đối số của hàm header() là một chuỗi gồm hai phần
Ngay sau khi chức năng header() được thực thi, người dùng từ xa sẽ được chuyển hướng đến URL mới Đây là một chuyển hướng "ngay lập tức". người dùng không nhận được bất kỳ nội dung web nào trước khi chuyển hướng URL đích phải là một URL tuyệt đối, như. https. //www. Google. com Tuy nhiên, hầu hết các trình duyệt cũng chấp nhận các URL tương đối. Điều này có thể hữu ích nếu bạn muốn chuyển hướng đến một URL tương đối trên trang web của riêng bạn Ví dụ
GHI CHÚ Bạn phải luôn gọi die() sau header(). Nếu không, việc thực thi tập lệnh có thể tiếp tục sau khi chuyển hướng Chuyển hướng và đầu raHàm header() gửi tiêu đề HTTP tới trình duyệt. Tiêu đề này yêu cầu trình duyệt chuyển đến một URL khác Điều quan trọng là phải gọi header() trước khi bất kỳ đầu ra nào được gửi tới trình duyệt, bao gồm
Để hiểu rõ hơn điều đó có nghĩa là gì, đây là ba ví dụ sai Ví dụ sai số 1. Đầu ra HTML trước tiêu đề()
Ví dụ sai #2. văn bản được in bằng PHP trước tiêu đề()
Ví dụ sai số 3. một dòng trắng trước header() (điều này xảy ra nếu bạn để một hoặc nhiều dòng trống trước thẻ mở PHP)
Nhưng nếu chuyển hướng đến sau khi một số đầu ra đã được gửi thì sao? Trong những trường hợp này, bạn có ba lựa chọn
Giải pháp đầu tiên là dễ nhất. Về cơ bản, thay vì sử dụng tiếng vang hoặc các lệnh tương tự, bạn lưu tất cả đầu ra bên trong một biến Sau đó, bạn chỉ xuất biến nếu không có chuyển hướng nào xảy ra Ví dụ
Bây giờ hãy xem bộ đệm đầu ra Bộ đệm đầu ra làm cho tập lệnh PHP của bạn giữ tất cả đầu ra cho đến khi kết thúc tập lệnh Vì vậy, về cơ bản, nó thực hiện chính xác những gì bạn cần mà không cần phải sử dụng các biến một cách rõ ràng Sử dụng bộ đệm đầu ra rất đơn giản. Bạn chỉ cần gọi ob_start() khi bạn muốn bộ đệm bắt đầu và sau đó gọi ob_end_flush() khi bạn muốn gửi tất cả bộ đệm Đây là cách nó hoạt động ________số 8
Bây giờ, hãy xem cách hoạt động của chuyển hướng front-end Chuyển hướng bằng thẻ meta HTMLMột cách khác để thực hiện chuyển hướng là sử dụng thẻ meta HTML cụ thể Thẻ này phải được thêm vào trang HTML mà bạn tạo bằng PHP. Sau khi trình duyệt đã tải trang, nó sẽ đọc thẻ chuyển hướng và thực thi nó Trái ngược với chuyển hướng PHP, đây không phải là chuyển hướng ngay lập tức, vì trình duyệt tải trang đầu tiên trước khi thực hiện chuyển hướng Hãy xem một ví dụ
Thẻ chuyển hướng là thẻ meta HTML có thuộc tính http-equiv=”refresh” và thuộc tính nội dung chứa
Chuyển hướng với JavaScriptThay vì sử dụng thẻ meta HTML, bạn cũng có thể sử dụng JavaScript để thực hiện chuyển hướng Trong JavaScript, lệnh chuyển hướng được thực hiện bởi cửa sổ. vị trí. chức năng thay thế () Bạn cần làm cho trang thực thi chức năng này khi bạn muốn thực hiện chuyển hướng, thường là ngay sau khi tải trang Ví dụ 0
Nếu bạn muốn chuyển hướng sau khi hết thời gian chờ, bạn chỉ cần sử dụng hàm JavaScript setTimeout() tiêu chuẩn Như thế này 1Mã chuyển hướng HTTPHãy quay lại chuyển hướng PHP header() Khi bạn chuyển hướng bằng hàm header(), bạn cũng có thể chỉ định mã HTTP chuyển hướng tùy chọn Chuyển hướng được thực hiện vì hai lý do
Khi bạn gửi tiêu đề chuyển hướng, bạn cũng có thể cho trình duyệt biết lý do tại sao chuyển hướng này xảy ra bằng cách gửi tiêu đề HTTP thích hợp Điều này chủ yếu có liên quan cho mục đích SEO Đặc biệt, bạn muốn gửi
Theo mặc định, hàm header() gửi mã 302 – chuyển hướng tạm thời Thay vào đó, nếu bạn muốn gửi mã 301 vì URL cũ đã được chuyển vĩnh viễn sang URL mới, thì bạn phải chỉ định mã đó một cách rõ ràng Bạn có thể làm điều đó bằng cách gửi tiêu đề 301 trước tiêu đề chuyển hướng. Như thế này 0
Bạn cũng có thể sử dụng đối số header() thứ ba để chỉ định mã phản hồi 1Phần kết luậnTrong hướng dẫn này, bạn đã học cách chuyển hướng bằng PHP Bạn đã biết cách sử dụng hàm header() và cách tránh gửi đầu ra trước khi chuyển hướng Bạn cũng đã xem cách thực hiện chuyển hướng giao diện người dùng bằng thẻ meta HTML và bằng JavaScript cũng như cách chỉ định loại chuyển hướng (301 và 302) Làm cách nào để chuyển hướng một trang trong PHP bằng tiếng vang?Câu 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. thí 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 để tạo chuyển hướng trong PHP?Để đặt chuyển hướng PHP vĩnh viễn, bạn có thể sử dụng mã trạng thái 301 . Vì mã này biểu thị chuyển hướng vô thời hạn nên trình duyệt sẽ tự động chuyển hướng người dùng bằng URL cũ sang địa chỉ trang mới.
Làm cách nào để chuyển hướng một liên kết 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.
Làm cách nào để lặp lại một tệp trong PHP?Câu lệnh tiếng vang PHP
. tiếng vang hoặc tiếng vang() . |