Chào mừng tất cả các bạn, đây là bài thứ 4 trong loạt bài series hướng dẫn xây dựng trang tin tức PHP. Ở bài trước, chúng ta đã xây dựng xong 2 thư viện session và functions admin rồi ! Bài hôm nay mình sẽ hướng dẫn các bạn kết nối database và cấu trúc index cho phần admin. Bây giờ chúng ta bắt tay vào việc thôi !
1. Kết nối database admin
Như mình đã nói ở Bài 1: PHP trang tin tức – Tạo database và cấu trúc folder admin, file admin/core/init.php
sẽ là file kết nối database để làm cầu nối với các file xử lý, index và chứa các thông tin chung của webite. Các bạn mở file admin/core/init.php
lên và copy đoạn code này vào :
<?php // Require các thư viện PHP require_once 'classes/DB.php'; require_once 'classes/Session.php'; require_once 'classes/Functions.php'; // Kết nối database $db = new DB(); $db->connect(); $db->set_char('utf8'); // Thông tin chung $_DOMAIN = 'http://localhost/newspage/admin/'; date_default_timezone_set('Asia/Ho_Chi_Minh'); $date_current = ''; $date_current = date("Y-m-d H:i:sa"); // Khởi tạo session $session = new Session(); $session->start(); // Kiểm tra session if ($session->get() != '') { $user = $session->get(); } else { $user = ''; } ?>
Require các thư viện PHP
// Require các thư viện PHP require_once 'classes/DB.php'; require_once 'classes/Session.php'; require_once 'classes/Functions.php';
Chúng ta sẽ require 3 thư viện trong folder admin/classes
. Vì đây là file trung gian require với các file xử lý và index nên path require các thư viện chúng ta sẽ viết cùng cấp với folder admin/classes
và cũng như các folder khác trong phần admin.
Kết nối database
// Kết nối database $db = new DB(); $db->connect(); $db->set_char('utf8');
Đầu tiên chúng ta sẽ khởi tạo class DB
, sau đó gọi hàm connect()
để kết nối database. Ngoài ra chúng ta dùng hàm set_char()
với tham số là utf8
để charset cho database.
Thông tin chung
// Thông tin chung $_DOMAIN = 'http://localhost/newspage/admin/'; date_default_timezone_set('Asia/Ho_Chi_Minh'); $date_current = ''; $date_current = date("Y-m-d H:i:sa");
$_DOMAIN
sẽ chứa đường dẫn tuyệt đối của folder admin trên trình duyệt. Ngoài ra chúng ta sẽ thiếp lập múi thời gian để insert vào database.
Khởi tạo và kiểm tra session
// Khởi tạo session $session = new Session(); $session->start(); // Kiểm tra session if ($session->get() != '') { $user = $session->get(); } else { $user = ''; }
Ta sẻ khởi tạo class Session, sau đó gọi hàm start để bắt đầu session.
Để kiểm tra session chúng ta sẽ kiểm tra kết quả trả về của hàm get() :
- Nếu không rỗng thì gán
$user
bằng kết quả trả về (tức đã đăng nhập). - Nếu rỗng gán
$user
bằng rỗng (tức chưa đăng nhập).
2. Cấu trúc index admin
Tiếp theo chúng ta sẽ xây dựng cấu trúc cho file admin/index.php
. Các bạn mở file admin/index.php
lên và copy đoạn code này vào :
Bài viết này được đăng tại [kiso.vn]
<?php // Require database & thông tin chung require_once 'core/init.php'; // Require header require_once 'includes/header.php'; // Require footer require_once 'includes/footer.php'; ?>
Ok ! Giờ các bạn chạy thử file admin/index.php
, nếu màn hình trắng và không báo lỗi gì thì thành công rồi nhé !
3. Lời kết
Bài này tới đây thôi, qua bài này chúng ta đã kết nối database và xây dựng cấu trúc index cho admin rồi. Bài tiếp theo mình sẽ hướng dẫn các bạn xây dựng header và footer cho phần admin của trang tin tức nhé ! Cảm ơn các bạn đã theo dõi và chúc các bạn thành công !
Danh sách file tải về
Tên file tải về | Pass giải nén |
---|---|
Bài 4: PHP trang tin tức – Kết nối database và cấu trúc index admin | kiso.vn hoặc gameportable.net |
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Kết nối database adminRequire các thư viện PHPKết...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Kết nối database adminRequire các thư viện PHPKết nối databaseThông tin chungKhởi tạo và kiểm tra session2. Cấu trúc index admin3. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Kết nối database adminRequire các thư viện PHPKết nối databaseThông tin chungKhởi tạo và kiểm tra session2. Cấu trúc index admin3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Kết nối database adminRequire các thư viện PHPKết nối databaseThông tin chungKhởi tạo và kiểm tra session2. Cấu trúc index admin3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Kết nối database adminRequire các thư viện PHPKết nối databaseThông tin chungKhởi tạo và kiểm tra session2. Cấu trúc index admin3. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với...