Trong việc lập trình web bạn không thể thiếu việc chuyển người dùng từ trang này qua trang kia. Ví dụ như sau khi login thì chuyển người dùng về trang chủ. Hoặc vào các nội dung cần xác thực thì phải chuyển người dùng về trang login.
1. Chuyển trang bằng HTTP header
PHP hỗ trợ chuyển trang bằng cách trả về HTTP header Location theo đặc tả của giao thức HTTP. Khi trình duyệt nhận được response từ server có HTTP header "Location" thì trình duyệt sẽ tự động chuyển hướng đến url được chỉ định.
HTTP header:
Location:
Cách thực hiện đơn giản như sau.
Trường hợp bạn muốn chuyển hướng ra trang ngoài không phải trang hiện tại của bạn. Thì bạn hãy để đầy đủ đường dẫn URL.
9Khi thực hiện chuyển trang bằng cách này. Tức là bạn đang thay đổi các giá trị HTTP header mặc định. Rất có thể bạn sẽ bị thông báo lỗi khi sau:
9. Để khác phục được lỗi này. Bạn cần hiểu bản chất vấn được được giải thích như sau. Nếu bạn đang gấp Bỏ qua cách chuyển hướng này và sử dụng các cách chuyển hướng ở bên dưới.Nếu bạn đang gấp Bỏ qua cách chuyển hướng này và sử dụng các cách chuyển hướng ở bên dưới.Giải thích:
Theo đặc tả một gói tin HTTP có cấu trúc như sau:
HEADER
BODY
Mỗi dấu xuống dòng ở trên là cặp kí tự
0Chúng ta sẽ bị lỗi
9; Nhưng trong trường hợp tắt warning, website vẫn chạy được.Trong các trường hợp thực tế, ta hay để code php bên trong đoạn mở như sau:
Như vậy ta cũng bị lỗi
9;
Chúng ta phải đảm bảo các lệnh
1Ví dụ như trình duyệt đang ở trang index.php, nhưng lại có lệnh
2Để giải quyết, chúng ta phải check điều kiện chuyển trang. Nếu đang ở trang hiện tại, thì không được chuyển nữa. Ví dụ như URL hiện tại của chúng ta là
32. Chuyển trang bằng HTML
4Ngoài cách điều hướng bằng php, chúng ta có thể dùng html tag. như sau:
Với số HEADER
BODY
6 là số giây sẽ delay. Sau đó sẽ truyển trang về url được khai báo. Như ta muốn chuyển về google.com sau 5s thì ta sẽ ghi như sau:
HEADER
BODY
Với số
HEADER
BODY
6 là chuyển ngay lập tức.Lưu ý:
Sử dụng cách này các bạn cũng không thể tránh khỏi lỗi chuyển trang liên tục như trên. Khi chuyển trang không chuyển về trang hiện tại.
5Với số HEADER
BODY
6 là số giây sẽ delay. Sau đó sẽ truyển trang về url được khai báo. Như ta muốn chuyển về google.com sau 5s thì ta sẽ ghi như sau:
HEADER
BODY
Với số
HEADER
BODY
6 là chuyển ngay lập tức.Lưu ý:
Sử dụng cách này các bạn cũng không thể tránh khỏi lỗi chuyển trang liên tục như trên. Khi chuyển trang không chuyển về trang hiện tại.
63. Chuyển trang bằng JavaScript
3Chúng ta biết rằng JS được dùng để sử lí giao diện là trùm luôn. Vì vậy chuyển trang đối với JS chỉ là chuyện nhỏ. Cách thực hiện như sau:
5Tương tự, sử dụng cách này các bạn cũng không thể tránh khỏi lỗi chuyển trang liên tục như trên. Khi chuyển trang không chuyển về trang hiện tại.
Tổng hợp
Chuyển trang bằng PHP:Hoàng Phúc
Chuyển trang bằng HTML:
html Chuyển trang bằng JavaScript:
Mọi thắc mắc các bạn vui lòng để lại comment.