Bài 28: PHP trang tin tức - Xây dựng các trang con và clear source (End)

DOWNLOAD

Hello xin chào tất cả các bạn, chào mừng các bạn đã quay trở lại với series hướng dẫn xây dựng trang tin tức căn bản. Trong bài hôm trước, chúng ta đã cùng nhau xây dựng chức năng tìm kiếm bài viết cho client. Ngày hôm nay, mình sẽ hướng dẫn các bạn xây dựng một số trang con còn lại và clear source code cho project. Và đây cũng là bài cuối cùng trong loạt bài series này, bây giờ chúng ta vào bài thôi!

1. Sửa lỗi bài học trước

Trước khi vào bài hôm nay, mình sẽ hướng dẫn các bạn sửa lỗi ở phần bài viết client, nhìn hình dưới đây các bạn sẽ phát hiện ra lỗi này:

Khi mình chỉ slug của một bài viết nào đó mà không nằm trong table, nhưng id lại tồn tại thì nó show data của id bài viết đó mà không phải là một trang 404. Vậy nguyên nhân là do đâu?

Rất đơn giản, các bạn mở file templates/posts.php lên, tìm đến câu lệnh sql trong $sql_get_data_post (dòng 8). Chắc giờ một số bạn cũng phần nào biết cách sửa lỗi này phải không nào? Các bạn chỉ cần thêm điều kiện slug = '$sp' vào câu lệnh sql là OK.

$sql_get_data_post = "SELECT * FROM posts WHERE id_post = '$id' AND slug = '$sp'";
Xong, giờ các bạn test xem.

2. Xây dựng các trang con

Các trang dưới đây các bạn có thể tự do thiết kế theo ý của mình hoặc có thể tham khảo code của mình.

a. Trang 404

Đầu tiên các bạn mở file templates/404.php lên và dán nội dung này vào:

<div class="container">
	<div class="row">
		<h1 class="text-danger">OOPS! Trang này không tồn tại</h1>
		<a href="<?php echo $_DOMAIN; ?>">Trở về trang chủ</a>
	</div>
</div>
Ok, giờ các bạn test xem ổn chưa nhé!

Tiếp theo các bạn tạo cho mình file 404.php với nội dung sau:

<?php

// Kết nối database 
require 'core/init.php';

// Header
require 'includes/header.php';

// Content
require 'templates/404.php';

// Footer
require 'includes/footer.php';

?>
Sau đó, mở file .htaccess lên và dán dòng code này vào bên dưới phần # Bảo vệ file .htaccess:

ErrorDocument 404 http://localhost/newspage/404.php
Các bạn thay đường dẫn cho phù hợp với project nhé!

b. Trang bảo trì

Các bạn mở file templates/shutdown.php lên và dán đoạn code bên dưới:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Bảo trì trang web</title>
	<link rel="stylesheet" href="<?php echo $_DOMAIN; ?>admin/bootstrap/css/bootstrap.min.css">
</head>
<body>
	<div class="container">
		<div class="row text-center">
			<h1>Trang web chúng tôi hiện đang bảo trì, vui lòng quay lại sau.</h1>
		</div>
	</div>
</body>
</html>
Sau đó, mở file index.php lên và chèn đoạn code này bên dưới phần // Kết nối database:

// Bảo trì
if ($data_web['status'] == 0) {
	require 'templates/shutdown.php';
	exit;
}
Giờ thử chuyển sang chế độ đóng website, rồi reload lại phía client, chúng ta sẽ có kết quả như hình bên dưới:

3. Clear source code

Về phần này các bạn xóa cho mình 2 file search.phptemplates/members.php.

4. Lời kết

Phù, series kết thúc tại đây rồi. Mình hi vọng qua series này sẽ giúp ích cho các bạn, đặc biệt là cách bạn mới làm quen với PHP và Ajax sẽ nắm bắt được và từ đó có thể tự triển khai một ứng dụng cho riêng mình. Nếu có thắc mắc gì các bạn cứ comment bên dưới hoặc đăng trên group kèm theo link bài viết để được hỗ trợ sớm nhất. Cảm ơn các bạn đã theo dõi series của mình, chúc các bạn thành công!

-------------------#####-------------------

Khóa học nên xem

Nguồn: freetuts.net