{VnTim™} Đôi lúc code Bạn sẽ cần dùng đến đường dẫn trang hiện tại: ví dụ bạn cần kiểm tra người dùng đang ở trang nào, đang thao tác những gì hay lưu đường dẫn vào 1 biến tạm để nếu nhấn nút Back sẽ trở lại đúng trang đó...
Để thực hiện yêu cầu ✅Lấy URL đường dẫn của trang hiện tại với PHP ta có thể làm như sau:
Trường hợp đơn giản
URL dạng: http://vntim.com không có port...
Kết quả: Đây là URL hiện tại của bạn: http://vntim.blogspot.com/2018/07/lay-url-duong-dan-trang-hien-tai-php.html
Code 2: Nếu bạn cần lấy tên miền hiện tại, bạn có thể sử dụng code dưới đây:
Code trên chỉ cho chúng ta tên website .com .net không bao gồm tiền tố http:// hoặc https:// Vì vậy các bạn nên lưu ý khi sử dụng cú pháp này
Code 3: Trả về biến mà bạn đăng truy cập
ví dụ: http://vntim.com/index.php?user=admin
Kết quả trả về user=admin
Trường hợp phức tạp
Trường hợp này sử dụng cho hệ thống dùng http, https, port lẫn lộn. Khi đó URL hiện tại sẽ bao gồm cả port, http, https.
❤Để lấy đường dẫn URL của trang hiện tại, bạn chỉ cần sử dụng đoạn code PHP đơn giản như sau:
Đọc đoạn code ở trên, có thể có nhiều bạn bỡ ngỡ, thắc mắc không hiểu chức năng của biến $_SERVER[“SERVER_NAME”], $_SERVER[“SERVER_PORT”]…Sau khi đọc chú thích dưới đây, các bạn sẽ gỡ bỏ được các khúc mắc đó.
✳Giải thích: Trong getURLCurrentPage chúng ta sử dụng chủ yếu là biến $_SERVER để xác định URL của trang hiện tại. Tương tự, biến $_SERVER có thể cho ra những kết quả khác tùy theo cách xử dụng.
Ví dụ ta có dường dẫn sau: http://vntim.com/page/about.php?page=12
- $_SERVER[‘HTTP_HOST’] => vntim.com
- $_SERVER[‘PHP_SELF’] => /page/about.php
- $_SERVER[‘REQUEST_TIME’] => Thời gian mà client gửi request ở dạng TIME _STAMP
- $_SERVER[‘QUERY_STRING’] => page=12
- $_SERVER[‘DOCUMENT_ROOT’] = Thư mục root chứa mã nguồn website. VD: /home/vntimcom/public_html (đối với Linux) hay C:\www (đối với windows)
- $_SERVER[‘REMOTE_HOST’] = Hostname của người truy cập
- $_SERVER[‘REMOTE_PORT’] = Port mà trình duyệt mở ra để kết nối tới server
- $_SERVER[‘REQUEST_URI’] => /page/about.php?page=12
- $_SERVER[‘SERVER_NAME’] = Tên của server
- $_SERVER[‘SERVER_ADDR’] = IP của server
- $_SERVER[‘REMOTE_ADDR’] = IP của người truy cập
- $_SERVER[‘HTTP_USER_AGENT’] = Thông tin trình duyệt của người truy cập
Để thực hiện yêu cầu ✅Lấy URL đường dẫn của trang hiện tại với PHP ta có thể làm như sau:
Trường hợp đơn giản
URL dạng: http://vntim.com không có port...
<?php
Echo “Đây là URL hiện tại của bạn: http://”.$_SERVER[“SERVER_NAME”].$_SERVER[“REQUEST_URI”];
?>
Kết quả: Đây là URL hiện tại của bạn: http://vntim.blogspot.com/2018/07/lay-url-duong-dan-trang-hien-tai-php.html
Code 2: Nếu bạn cần lấy tên miền hiện tại, bạn có thể sử dụng code dưới đây:
<?php
# using http_host
$domain = $_server['http_host'];
echo $domain; //echo vntim.blogspot.com
?>
Code trên chỉ cho chúng ta tên website .com .net không bao gồm tiền tố http:// hoặc https:// Vì vậy các bạn nên lưu ý khi sử dụng cú pháp này
Code 3: Trả về biến mà bạn đăng truy cập
<?php
# using query_string
$querystring = $_server['query_string'];
echo "query: " . $querystring;
?>
ví dụ: http://vntim.com/index.php?user=admin
Kết quả trả về user=admin
Trường hợp phức tạp
Trường hợp này sử dụng cho hệ thống dùng http, https, port lẫn lộn. Khi đó URL hiện tại sẽ bao gồm cả port, http, https.
❤Để lấy đường dẫn URL của trang hiện tại, bạn chỉ cần sử dụng đoạn code PHP đơn giản như sau:
<?php
function getcurrentpageurl() {
$pageurl = 'http';
if (!empty($_server['https'])) {
if ($_server['https'] == 'on') {
$pageurl .= "s";
}
}
$pageurl .= "://";
if ($_server["server_port"] != "80") {
$pageurl .= $_server["server_name"] . ":" . $_server["server_port"] . $_server["request_uri"];
} else {
$pageurl .= $_server["server_name"] . $_server["request_uri"];
}
return $pageurl;
}
?>
Đọc đoạn code ở trên, có thể có nhiều bạn bỡ ngỡ, thắc mắc không hiểu chức năng của biến $_SERVER[“SERVER_NAME”], $_SERVER[“SERVER_PORT”]…Sau khi đọc chú thích dưới đây, các bạn sẽ gỡ bỏ được các khúc mắc đó.
✳Giải thích: Trong getURLCurrentPage chúng ta sử dụng chủ yếu là biến $_SERVER để xác định URL của trang hiện tại. Tương tự, biến $_SERVER có thể cho ra những kết quả khác tùy theo cách xử dụng.
Ví dụ ta có dường dẫn sau: http://vntim.com/page/about.php?page=12
- $_SERVER[‘HTTP_HOST’] => vntim.com
- $_SERVER[‘PHP_SELF’] => /page/about.php
- $_SERVER[‘REQUEST_TIME’] => Thời gian mà client gửi request ở dạng TIME _STAMP
- $_SERVER[‘QUERY_STRING’] => page=12
- $_SERVER[‘DOCUMENT_ROOT’] = Thư mục root chứa mã nguồn website. VD: /home/vntimcom/public_html (đối với Linux) hay C:\www (đối với windows)
- $_SERVER[‘REMOTE_HOST’] = Hostname của người truy cập
- $_SERVER[‘REMOTE_PORT’] = Port mà trình duyệt mở ra để kết nối tới server
- $_SERVER[‘REQUEST_URI’] => /page/about.php?page=12
- $_SERVER[‘SERVER_NAME’] = Tên của server
- $_SERVER[‘SERVER_ADDR’] = IP của server
- $_SERVER[‘REMOTE_ADDR’] = IP của người truy cập
- $_SERVER[‘HTTP_USER_AGENT’] = Thông tin trình duyệt của người truy cập
Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dướiVnTim™ Chúc các bạn thành công!