hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Lập trình PHP cơ bản
Nhận dạng trình duyệt và nền tảng trong PHP

Nhận dạng trình duyệt và nền tảng trong PHP

  • 18-03-2023
  • Toanngo92
  • 0 Comments

Dựa trên đầu vào do người dùng cung cấp, kiểu trình duyệt hoặc các số được tạo ngẫu nhiên, PHP có thể cung cấp nội dung động cho người dùng.

PHP sử dụng các biến môi trường có sẵn trên trang phpinfo.php để xây dựng môi trường PHP. PHP cung cấp hàm phpinfo() để xem thông tin PHP và hàm getenv() để truy cập giá trị của tất cả các biến môi trường.

Ví dụ: HTTP_USER_AGENT là một biến môi trường. Đây là một trong những biến môi trường do PHP thiết lập, giúp nhận diện trình duyệt và hệ điều hành của người dùng. Biến này có thể được sử dụng để tạo nội dung trình duyệt phù hợp dựa theo trình duyệt hay hệ điều hành của người dùng.

Ví dụ:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

<?php


// $viewer = $_SERVER['HTTP_USER_AGENT'];
$viewer = $_SERVER['HTTP_SEC_CH_UA'];
$browser = "An unidentified browser";

if(preg_match('/Google Chrome/i', "$viewer")) {
    $browser = "Google Chrome";
}
else if(preg_match('/Brave/i',"$viewer")){
    $browser = "Brave";
}
else if(preg_match('/Microsoft Edge/i',"$viewer")){
    $browser = "Microsoft Edge";
}



/* do not use this solution */

// if(preg_match('/MSIE/i', "$viewer")) {
//     $browser = "Internet Explorer";
// }
// elseif (preg_match('/Netscape/i', "$viewer")) {
//     $browser = "Netscape";
// }
// elseif (preg_match('/Mozilla/i', "$viewer")) {
//     $browser = "Mozilla";
// }

$useragent = $_SERVER['HTTP_USER_AGENT'];

$platform = "An unidentified operating system!";

if(preg_match('/Windows/i', "$useragent")) {
    $platform = "Windows!";
}
elseif (preg_match('/Linux/i', "$useragent")) {
    $platform = "Linux!";
}

/* do not use this solution */

echo "Browser: $browser<br>";
echo "Platform: $platform";

?>

</body>
</html>

Ở ví dụ trên, hàm preg_match() giúp nhận dạng trình duyệt dựa trên HTTP_USER_AGENT. Hơn nữa, nó bao gồm mã để kiểm tra hệ điều hành của người dùng, có thể là Linux hoặc Windows.

Bài tập

Use this SQL statements below to create database and insert sample data use for the exam:

 

CREATE DATABASE product_management; USE product_management; CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, product_name VARCHAR(255) NOT NULL UNIQUE, price INT CHECK (price > 0), stock INT CHECK (stock >= 1) ); CREATE TABLE orders ( id INT AUTO_INCREMENT PRIMARY KEY, product_id INT, quantity INT CHECK (quantity > 0), order_date DATE DEFAULT (CURDATE()), FOREIGN KEY (product_id) REFERENCES products(id) ON DELETE RESTRICT ); INSERT INTO products (product_name, price, stock) VALUES ('Dell Inspiron Laptop', 15000000, 20), ('HP Pavilion Laptop', 18000000, 5), ('MacBook Air M1', 25000000, 15), ('Logitech Wireless Mouse', 500000, 50), ('Razer Mechanical Keyboard', 2000000, 8), ('Sony WH-1000XM4 Headphones', 7000000, 12), ('LG 24-inch Monitor', 3500000, 25), ('Samsung 1TB SSD', 3200000, 18); INSERT INTO orders (product_id, quantity) VALUES (1, 2), (3, 1), (6, 3);

Câu 1:
Hiển thị danh sách sản phẩm có điều kiện lọc
Tạo tệp index.php và viết mã PHP để hiển thị danh sách tất cả các sản phẩm, được sắp xếp theo giá theo thứ tự giảm dần
Khi người dùng nhấp vào “Thêm sản phẩm”, họ sẽ điều hướng đến add_product.php
Khi người dùng nhấp vào “chỉnh sửa”, họ sẽ điều hướng đến edit_product.php với tham số chứa id của sản phẩm hiện tại.

Câu 2:

Trong tệp add_product.php, Tạo biểu mẫu để nhập thông tin chi tiết về sản phẩm (tên, giá, kho) và xử lý việc chèn vào bảng sản phẩm. 
Xác thực rằng product_name là duy nhất.
Đảm bảo giá lớn hơn 0 và kho ít nhất là 1.

Câu 3:

Trong edit_product.php Tạo một biểu mẫu để cập nhật tên, giá và kho của sản phẩm dựa trên id của sản phẩm đó. 
Đảm bảo id tồn tại trước khi cập nhật. 
Xác thực rằng product_name là duy nhất.
Đảm bảo giá lớn hơn 0 và kho ít nhất là 1. 

Câu 4:

Hiển thị danh sách sản phẩm có nút "Xóa" cho mỗi hàng.
Hiển thị cảnh báo xác nhận bằng JavaScript trước khi xóa.
Nếu sản phẩm có đơn hàng hiện tại, hãy ngăn chặn việc xóa và thông báo cảnh báo "Không thể xóa sản phẩm vì đã có trong đơn hàng!". 
Nếu không, hãy xóa sản phẩm khỏi cơ sở dữ liệu

Bài viết liên quan:

Hướng dẫn sử dụng xdebug để gỡ lỗi PHP bằng visual studio code môi trường windows
Hướng dẫn cấu hình Extension live server tự động tải lại PHP khi cập nhật file trên visual studio code
Kỹ thuật AJAX trong PHP
Làm việc với JSON trong PHP
Chuyển hướng trình duyệt, download file bằng HTTP Header trong PHP
Một số cải tiến mới của PHP 8
Từ khóa final, static, overloading và magic method trong PHP
Abstract Class (lớp trừu tượng) trong PHP
Interface trong hướng đối tượng PHP
Method (phương thức), public,private,protected, method overriding trong hướng đối tượng PHP
Iterable và iterator trong PHP
Namespace trong hướng đối tượng PHP

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

2. PHÂN TÍCH VÀ ĐẶC TẢ HỆ THỐNG

3. THIẾT KẾ HỆ THỐNG

1. TỔNG QUAN KIẾN THỨC THỰC HÀNH TRIỂN KHAI DỰ ÁN CÔNG NGHỆ THÔNG TIN

Hướng dẫn tự cài đặt n8n comunity trên CyberPanel, trỏ tên miền

Mẫu prompt tạo mô tả chi tiết bối cảnh

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×