Hướng dẫn php pdo comment system - hệ thống bình luận php pdo

Trong hướng dẫn này, chúng tôi sẽ tạo ra một hệ thống bình luận với PHP, MySQL và Ajax [JavaScript]. Hệ thống nhận xét sẽ thêm chức năng vào trang web của bạn [blog, trang web tin tức, v.v.] mà khách của bạn có thể sử dụng để gửi nội dung và chia sẻ ý kiến.

Hệ thống bình luận chúng tôi sẽ phát triển ngày hôm nay sẽ tối thiểu, sạch sẽ và nhanh chóng! Và với việc sử dụng AJAX, bạn có thể triển khai hệ thống một cách liền mạch trên bất kỳ trang web nào.

Nhận xét đã gửi sẽ được lưu trữ và truy xuất trong và từ cơ sở dữ liệu MySQL và sau đó được điền với PHP và HTML.

Gói nâng cao bao gồm các tính năng bổ sung và liên kết tải xuống đến mã nguồn.

1. Bắt đầu

Bạn sẽ cần cài đặt môi trường máy chủ web nếu bạn sẽ kiểm tra hệ thống bình luận trên hệ thống máy tính của riêng bạn. Thực hiện theo các hướng dẫn dưới đây.

  • Cài đặt gói giải pháp môi trường máy chủ web - Tôi khuyên bạn nên cài đặt XAMPP.
  • Nếu bạn có máy chủ sản xuất của riêng mình [VPS, chuyên dụng, v.v.], bạn sẽ cần cài đặt PHP, Apache, MySQL và PHPMyAdmin [lưu ý: Chúng đã được bao gồm với XAMPP].
  • Cài đặt một trình soạn thảo mã. Bạn có thể sử dụng Notepad nhưng tôi không khuyên bạn nên sử dụng một trong những điều sau đây: Notepad ++, Visual Studio Code hoặc Atom.

2. Tạo cơ sở dữ liệu và bảng thiết lập

Chúng tôi cần tạo cơ sở dữ liệu MySQL và tạo bảng nhận xét vì đó là những gì chúng tôi sẽ sử dụng để lưu trữ và truy xuất tất cả các nhận xét của chúng tôi. Chúng ta có thể làm điều đó với phpmyadmin.

Điều hướng đến phpmyadmin [ví dụ: // localhost/phpmyadmin/] trong trình duyệt của bạn và làm theo các hướng dẫn dưới đây:

  • Nhấp vào tab Cơ sở dữ liệu ở trên cùng
  • Trong Tạo cơ sở dữ liệu, nhập PhpComments trong hộp văn bản
  • Chọn UTF8_General_Ci làm đối chiếu [UTF-8 là mã hóa mặc định trong HTML5]
  • Nhấp vào Tạo

Trong khi cơ sở dữ liệu được chọn, hãy nhấp vào tab SQL và thực hiện mã câu lệnh sau:

CREATE TABLE IF NOT EXISTS `comments` [
	`id` int[11] NOT NULL AUTO_INCREMENT,
	`page_id` int[11] NOT NULL,
	`parent_id` int[11] NOT NULL DEFAULT '-1',
	`name` varchar[255] NOT NULL,
	`content` text NOT NULL,
	`submit_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY [`id`]
] ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO `comments` [`id`, `page_id`, `parent_id`, `name`, `content`, `submit_date`] VALUES
[1, 1, -1, 'John Doe', 'Thank you for taking the time to write this article, I really enjoyed reading it!\r\n\r\nThank you, David!', '2020-07-22 14:35:15'],
[2, 1, 11, 'David Adams', 'It''s good to hear that you enjoyed this article.', '2020-07-22 14:36:19'],
[3, 1, -1, 'Michael', 'I appreciate the time and effort you spent writing this article, good job!', '2020-07-22 14:37:43'];

Câu lệnh SQL trên sẽ tạo bảng nhận xét với các cột sau:

  • ID - ID bình luận độc đáo.
  • Trang_ID - Điều này sẽ xác định nhận xét nào là trang nào, đó sẽ là ID trang mà bạn có thể chỉ định trên bất kỳ trang web nào.
  • Parent_id - ID bình luận cha mẹ mà chúng tôi sẽ sử dụng để trả lời bình luận.
  • Tên - Tên của người dùng [ví dụ: Joe Bloggs].
  • Nội dung - Nội dung nhận xét sẽ là những gì người dùng nhập thông qua biểu mẫu.
  • đệ trình_date - ngày nhận xét đã được đăng.

Dữ liệu mà chúng tôi chèn vào bảng bình luận sẽ là cho mục đích kiểm tra.

Trong phpmyadmin, cấu trúc bảng sẽ trông giống như sau:

//localhost/phpmyadmin/

Write Comment

Hàm trên sẽ chuyển đổi ngày và thời gian của chúng tôi thành một chuỗi bị xóa, sẽ xuất hiện dưới dạng "1 ngày trước", v.v. trong phần bình luận.

Hàm show_write_comment_form [] sẽ hiển thị biểu mẫu mà khách truy cập có thể sử dụng để viết và gửi nhận xét.

Đó là tất cả mọi thứ chúng ta cần để mã trong tệp này. Bước tiếp theo là triển khai hệ thống nhận xét trên trang web bằng AJAX.

Bây giờ chúng tôi đã tạo tệp PHP phía máy chủ của mình, chúng tôi có thể triển khai hệ thống nhận xét trên trang web của chúng tôi.

Tạo tệp index.html và thêm:



	
		
		Comments System
		
		
	
	

	    
	    	

Comments System

Article

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique vel leo a vestibulum. Praesent varius ex elit, vitae pretium felis laoreet in. Nullam sit amet pretium nulla. Aliquam convallis sem vitae tincidunt pulvinar. Integer id ex efficitur, vulputate ante et, vulputate risus. Maecenas ac nunc est. Donec nisl turpis, aliquet quis turpis mollis, dictum pulvinar est. Vivamus ut suscipit turpis. Sed metus leo, dignissim non vehicula non, tincidunt ac velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Nunc id lacinia mauris. Aliquam pellentesque orci et neque egestas, vel lobortis risus egestas. Curabitur non rhoncus nibh. Donec ante lorem, luctus eget ex eget, malesuada ornare nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam consectetur egestas magna non dignissim. Pellentesque sit amet mollis mauris. Nunc quis arcu ac diam tempus auctor. Proin nec commodo nisl. Duis gravida lorem quis ipsum mattis, id finibus tortor pretium. Nam maximus pretium nisi, ullamcorper tincidunt dolor sagittis ac. Donec suscipit neque lectus, id fringilla tortor pellentesque ut. Maecenas quam lectus, pharetra vitae commodo sit amet, iaculis quis massa. Aenean varius quam quis posuere viverra. Nullam varius condimentum sem, sit amet bibendum augue porttitor in.

Morbi purus turpis, finibus vel fermentum nec, egestas eu elit. Fusce eleifend ac massa sit amet eleifend. Suspendisse sit amet facilisis augue. Praesent vitae dui lacus. Suspendisse sodales nisl massa, quis vehicula ante rutrum vitae. Proin scelerisque vestibulum purus, ac ultrices sapien malesuada vel. Proin sit amet tristique orci. Vestibulum in tortor ante.

Đây là trang mẫu mà chúng tôi sẽ sử dụng để hiển thị nhận xét của chúng tôi, tệp không cần phải ở định dạng PHP vì chúng tôi sẽ sử dụng AJAX để truy xuất các bình luận từ trang bình luận của chúng tôi.php.

Thêm mã này ngay trước khi thẻ kết thúc thẻ:

* {
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    background-color: #FFFFFF;
    margin: 0;
}
.navtop {
    background-color: #3f69a8;
    height: 60px;
    width: 100%;
    border: 0;
}
.navtop div {
    display: flex;
    margin: 0 auto;
    width: 1000px;
    height: 100%;
}
.navtop div h2, .navtop div a {
    display: inline-flex;
    align-items: center;
}
.navtop div h2 {
    flex: 1;
    font-size: 24px;
    padding: 0;
    margin: 0;
    color: #ecf0f6;
    font-weight: normal;
}
.navtop div a {
    padding: 0 20px;
    text-decoration: none;
    color: #c5d2e5;
    font-weight: bold;
}
.navtop div a i {
    padding: 2px 8px 0 0;
}
.navtop div a:hover {
    color: #ecf0f6;
}
.content {
    width: 1000px;
    margin: 0 auto;
}
.content h2 {
    margin: 0;
    padding: 25px 0;
    font-size: 22px;
    border-bottom: 1px solid #ebebeb;
    color: #666666;
}
0

Mã JavaScript ở trên sẽ truy xuất các nhận xét bằng API tìm nạp và nối chúng vào thùng chứa nhận xét.

Nếu bạn sẽ thêm nhận xét trên một trang khác, bạn sẽ cần cập nhật biến bình luận_page_id vì số phải là duy nhất trên mỗi trang, trừ khi bạn sẽ hiển thị các nhận xét tương tự.

Và bây giờ nếu chúng tôi điều hướng đến tệp này trong trình duyệt web của chúng tôi [qua localhost], chúng tôi sẽ thấy một cái gì đó như sau:

//localhost/phpcomments/index.html

Hãy nhớ kiểm tra các tính năng của hệ thống bình luận và đảm bảo mọi thứ hoạt động như bình thường.

Sự kết luận

Xin chúc mừng! Bạn đã tạo thành công một hệ thống bình luận với PHP, MySQL và AJAX.

Tiếp theo là gì? Xem xét triển khai các tính năng của riêng bạn cho hệ thống và tích hợp hệ thống với các dự án của riêng bạn.

Hãy chia sẻ bài viết này và bỏ bình luận nếu bạn thích nó.

Nếu bạn muốn hỗ trợ chúng tôi, hãy xem xét việc mua một gói bên dưới vì nó sẽ giúp chúng tôi tạo ra nhiều hướng dẫn hơn và giữ cho máy chủ của chúng tôi hoạt động. Các gói bao gồm mã được cải thiện và các tính năng sáng tạo hơn.

Nâng cao

Mã nguồn

Cơ sở dữ liệu Tệp SQL

Hệ thống bình luận an toàn

Mẫu trang chủ

Nhận xét lớp JavaScript

Sắp xếp theo tính năng [phiếu bầu, mới nhất, lâu đời nhất]

Tính năng bình luận phiếu bầu

Nhận xét tính năng hình ảnh

Tính năng tạo tài khoản

Nhận xét định dạng tính năng

Tính năng phê duyệt

Tính năng phân trang

Cải thiện mã

Bảng điều khiển quản trị - Bảng điều khiển - Xem/Tạo/Chỉnh sửa Nhận xét - Bình luận phê duyệt - Bộ lọc - Quản lý tài khoản - Cài đặt
— Dashboard
— View/create/edit comments
— Approve comments
— Filters
— Manage Accounts
— Settings

Thiết kế đáp ứng [thân thiện với thiết bị di động]

Tệp SCSS

Mã nhận xét

Cập nhật và hỗ trợ miễn phí [lỗi và các vấn đề nhỏ]

Hướng dẫn sử dụng

* Thanh toán được xử lý với PayPal/Stripe. * Gói nâng cao cũng bao gồm nguồn hướng dẫn.
* Advanced package also includes the tutorial source.

Để biết thêm thông tin chi tiết về gói nâng cao, bấm vào đây.

Bài Viết Liên Quan

Chủ Đề