Hướng dẫn url in php

Hướng dẫn url in php

Sử dụng biến superglobal $_SERVER của PHP để lấy URL trang hiện tại

Bạn có thể sử dụng biến được tạo sẵn $_SERVER để nhận URL trang hiện tại bằng PHP. $_SERVER là một biến superglobal, có nghĩa là nó luôn luôn có sẵn trong tất cả các phạm vi.

Ngoài ra nếu bạn muốn URL đầy đủ của trang, bạn sẽ cần phải kiểm tra tên lược đồ (hoặc giao thức), cho dù đó là http hoặc https như được hiển thị trong ví dụ bên dưới:

<?php
$uri = $_SERVER['REQUEST_URI'];
echo $uri; //Outputs: URI

$query = $_SERVER['QUERY_STRING'];
echo $query; //Outputs: Query String

$domain = $_SERVER['HTTP_HOST'];
echo $domain; //Outputs: HOST

$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";

$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo $url; //Outputs: Full URL
?>

Hàm chuyển hướng url trong php giúp chương trình chúng ta chủ động chuyển đến một địa chỉ url được chỉ định một cách dễ dàng.

Cú pháp

header("location: url");

Hàm header giúp website chuyển đến url được chỉ định.

Chú ý: url có thể là đường dẫn tương đối hoặc đường dẫn tuyệt đối

Ví dụ chuyển hướng url

Ví dụ 1: Chuyển hướng đến website http://unitop.vn

<?php
header("location: http://unitop.vn");
?>

Ví dụ 2: Chuyển hướng đến trang login trong hệ thống.

<?php
header("location: login.php");
?>

Như bạn thấy cấu trúc chuyển hướng url khá đơn giản đúng không, tuy nhiên nếu bạn muốn viết câu lệnh dễ nhớ hơn thì nên tối ưu nó qua việc định nghĩa hàm redirect()

<?php 
function redirect($url){
    if(!empty($url))
     header("location: {$url}");
}
?>

Khi đó khi nào dùng bạn chỉ cần gọi hàm như bên dưới.

redirect("http://unitop.vn");
redirect("login.php");

Chú ý: Tư duy chuyển đổi những câu lệnh phức tạp thành những hàm đơn giản dùng đi dùng lại nhiều lần đó là một phần bạn cần rèn luyện nếu mong muốn phát triển chuyên sâu về lập trình web php.

Tổng kết: Qua bài này tôi đã hướng dẫn bạn cách để chuyển hướng url trong hệ thống web một cách dễ dàng. Bạn hãy ghi chú lại và thực hành để nắm chắc bài học.

Phan Văn Cương founder Unitop.vn

  • Trang chủ
  • Phát triển web
  • PHP
  • URL trang hiện tại bằng PHP

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách lấy url trang hiện tại và các phần như đường dẫn, miền, chuỗi truy vấn, v.v. trong php.

Trong PHP, chúng ta có thể lấy url trang hiện tại bằng cách sử dụng biến superglobal $_SERVER tích hợp sẵn. Giả sử rằng url hiện tại là https://vzn.vn/lap-trinh-php/.

Chúng ta sẽ tìm hiểu các chức năng bên dưới để lấy các phần và url đầy đủ của trang hiện tại.

$ _SERVER ['HTTPS']

Sử dụng $_SERVER['HTTPS'], chúng ta có thể kiểm tra giao thức là http hay https.

Ví dụ

$protocol =  (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https://" : "http://");
echo $protocol;

// Output: https://

$ _SERVER ['HTTP_HOST']

Để có được Host (tên miền), chúng ta sẽ sử dụng $_SERVER['HTTP_HOST'].

Ví dụ

$host = $_SERVER['HTTP_HOST'];
echo $host;

// Output: vzn.vn

$ _SERVER ['REQUEST_URI']

Để có được đường dẫn đầy đủ của một trang, chúng tôi sẽ sử dụng $_SERVER['REQUEST_URI'].

Ví dụ

$path = $_SERVER['REQUEST_URI'];
echo $path;

// Output: /lap-trinh-php/

Cuối cùng để có được đầy đủ url trang hiện tại, chúng ta có thể viết mã như dưới đây.

Ví dụ

$protocol =  (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https://" : "http://");

$getUrl = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $getUrl;

// Output: https://vzn.vn/lap-trinh-php/

$ _SERVER [“QUERY_STRING”]

Nếu bạn muốn nhận truy vấn từ url, bạn có thể sử dụng $_SERVER["QUERY_STRING"]. hãy lấy một ví dụ nếu url hiện tại là https://vzn.vn/category/php/blog.php?id=1&cat=2.

Ví dụ

$query = $_SERVER["QUERY_STRING"];
echo $query;

// Output: id=1&cat=2

Hy vọng qua bài viết này bạn đã tìm thấy cách xử lý khi muốn lấy thông tin trang hiện tại bằng PHP.

Bài viết này đã giúp ích cho bạn?

Bài viết mới