06/04/2021, 14:46

Bài 4: PHP trang tin tức - Kết nối database và cấu trúc index admin - Web tin tức PHP căn bản

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 ...

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 :

<?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 !

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0