1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập xây dựng website tin tức PHP MySQL

27 454 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 9,44 MB

Nội dung

Báo cáo thực tập xây dựng website tin tức PHP MySQL

Trang 1

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

-THỰC TẬP CƠ SỞ

XÂY DỰNG WEBSITE TIN TỨC PHP & MySQL

Khoa: An toàn thông tin Chuyên ngành: An toàn thông tin

Sinh viên thực hiện:

Nguyễn Văn Quang Hưng Nguyễn Xuân Hưng

Nguyễn Quang Hưng

Trang 2

MỤC LỤC

Hà Nội, 2019 1

Mục lục 2

LỜI MỞ ĐẦU 1

KẾT LUẬN 24

Trang 3

LỜI MỞ ĐẦU

Ngày nay, cùng với sự phát triển của Khoa học Công nghệ, Công nghệ Thông tin đãtrở thành một phần không thể thiếu trong mọi lĩnh vực hoạt động đời sống của con người.Đối với các nước phát triển tin học đã được đưa vào ứng dụng quản lí trong các ngành ởtất cả lĩnh vực, trong khi tại Việt Nam tin học hầu như chỉ được đưa vào ứng dụng quản lítrong các doanh nghiệp quy mô lớn còn doanh nghiệp vừa và nhỏ điều này vẫn còn khámới mẻ

Hiện nay, website tin tức được xem là mô hình có tính phổ biến và đa dạng nhất bởi khả năng cập nhật đa dạng và xuất bản thông tin nhanh Website tin tức cung cấp

đầy đủ các tính năng cơ bản của một website như: quản lý quảng cảo, hỗ trợ tìm kiếm,thống kê, hệ thống bình chọn,…không giới hạn về kí tự, số lượng bài viết hay thời điểm

đăng tải Bên cạnh đó, trang web tin tức có tốc độ truy cập nhanh và rất thuận tiện cho

người tìm kiếm

Đối với các doanh nghiệp kinh doanh trong lĩnh vực báo chí, biên tập, xuất bản…ngày nay là vô cùng cần thiết Bởi vì thời đại công nghệ phát triển, văn hóa đọc của độcgiả cũng như người dùng không còn dừng lại ở những trang sách hay một quyển báo đơngiản nữa, họ chuyển sang đọc tin tức điện tử nhiều hơn Thậm chí, bạn có thể dễ dàngnhận thấy một thói quen đã thay đổi trong thời điểm hiện tại, đó chính là người ta sẽ cầmđiện thoại để check thông tin ngay khi ngày mới bắt đầu, thưởng thức cà phê sáng bêncạnh một chiếc Ipad chứ không còn là một tờ báo như ngày xưa

Sau khi tìm hiểu và nghiên cứu, để xây dựng website cho riêng mình, chúng em đã

chọn ngôn ngữ lập trình PHP, theo mô hình MVC với đề tài “Xây dựng website tin tức”.

Để thực hiện báo cáo Thực tập cơ sở chuyên ngành, nhóm em xin gửi lời cảm ơnđến tất cả các thầy cô trong bộ môn và đặc biệt là thầy giáo hướng dẫn trực tiếp Lê ĐứcThuận đã tạo điều kiện, giúp đỡ chỉ bảo tận tình nhóm em trong quá trình làm báo cáo.Nhóm em xin chân thành cảm ơn thầy cô!

Trang 4

CHƯƠNG 1 Tạo database (thiết kế cơ sở dữ liệu)

Dữ liệu đóng một vai trò vô cùng quan trọng trong hệ thống Tất cả các hoạt động của hệthống đều liên quan đến cơ sở dữ liệu: dữ liệu vào, dữ liệu ra Mỗi một chức năng của hệthống khi hoạt động đều cần đến dữ liệu liên quan Vì vậy việc thiết kế cơ sở dữ liệu làmột công việc quan trọng quyết định đến chất lượng của cả hệ thống Dữ liệu được tổchức theo mô hình quan hệ vì những lý do sau:

• Đơn giản: các dữ liệu được biểu diễn dưới 1 dạng duy nhất là quan hệ, chính làcác bảng giá trị, nó khá tự nhiên và gần gũi với người dùng

• Chặt chẽ: các khái niệm được hình thức hóa cao, cho phép áp dụng các công cụtoán học, thuật toán

• Trừu tượng hóa cao: mô hình chỉ dừng lại ở mức quan niệm, nghĩa là độc lập vớimức vật lý, với sự cài đặt, với các thiết bị, nhờ đó làm tăng tính độc lập giữa dữliệu và chương trình

• Cung cấp các ngôn ngữ truy vấn ở mức cao như SQL, dễ sử dụng và đã trở thànhchuẩn

Trang 5

1.1.2 Name( tên danh mục)

Tên của danh mục có kiểu dữ liệu là dạng varchar

1.1.3 Slug( đường dẫn trên thanh url)

Slug là đường dẫn trên thanh url của trình duyệt web, nó chính là tên của danh mục nhưng được viết dưới dạng không dấu và các chữ được nối với nhau băng dấu gạch ngang Kiểu dữ liệu của Slug là varchar và không lặp lại1.1.4 Parent_id( loại danh mục)

Parent_id dùng để phân loại danh mục cha với danh mục con Kiểu dữ liệu là integer Chúng ta quy định NULL là thuộc danh mục cha, còn lại là thuộc danh mục con

1.1.5 User_id( người tạo)

Users_id là id của người tạo ra danh mục đó Nhằm để phân biệt và quản lý các danh mục Nó là khóa ngoại được liên kết với trường ID của bảng Users Kiểu dữ liệu là integer

1.1.6 Approved( trạng thái duyệt)

Là trường dữ liệu thuộc kiểu dữ liệu integer Nhận 2 giá trị 1 và 0, chúng ta quy ước 1 là đã được duyệt, 0 là chưa được duyệt trường dữ liệu này có mục đích giúp admin quản lý các danh mục không phù hợp với trang web của họ.1.1.7 Created_ad( ngày tạo)

Created_at có kiểu dữ liệu là datetime với kiểu hiển thị là năm-tháng-ngày giờ-phút-giây Khi tạo 1 danh mục mới thì trường này sẽ tự động lấy ngày giờhiện tại

1.1.8 Updated_at( ngày chỉnh sửa)

Updated_at : thời gian update danh mục

1.2.2 Title( tiêu đề của bài viết)

Tiêu đề nói cách khác nó chính là tên của bài viết

1.2.3 Slug( đường dẫn của bài viết)

Trang 6

1.2.4 Content( chi tiết bài viết)

Content là phần quan trọng nhất của bảng Posts Nó là mục chỉ ra chi tiết của

1 bài viết nào đó Kiểu dữ liệu của nó là dạng text

1.2.5 Thumbnail( anh thu nhỏ của bài viết)

Thumbnail là ảnh thu nhỏ của một bài viết, nó gần như ảnh đại diện của bài viết đó vậy Trên giao diện nó sẽ được hiển thị cùng với tiêu đề bài viết

1.2.6 Description( đoạn giới thiệu ngắn của bài viết)

Đây là một đoạn tóm tắt ngắn của bài viết Mục đích là làm cho người đọc tò

mò về bài viết

1.2.7 Category_id( thuộc loại danh mục nào)

Trường này được liên kết với trường ID trong bảng categories Category_id dùng để phân loại các bài viết, cho chúng ta biết nó thuộc loại danh mục nào

để người đọc dễ tìm kiếm

1.2.8 User_id( người viết)

User_id được liên kết với trường ID của bảng Users nhằm cho người đọc biết được bài viết do ai viết và đăng lên

1.2.9 Status( trạng thái: ẩn hoặc hiện)

Là trạng thái của bài viết Có 2 trạng thái ẩn hoặc hiện, nếu admin muốn ẩn 1 bài nào đó thì cho giá trị của trường này về 0, còn muốn hiện thì cho về 1.1.2.10.Approved( trạng thái duyệt)

Trạng thái duyệt là trạng thái khi 1 bloger nào đó đăng bài nhưng phải được admin duyệt thì mới hiển thị lên trang web được

1.2.11 View_count( số lượng xem)

Số lượng lượt xem của 1 bài viết được đặt trong trường view_count này.1.2.12 Created_at( ngày tạo)

Ngày tạo ra bài viết

1.2.13 Updated_at( ngày chỉnh sửa)

Ngày chỉnh sửa rồi update lại bài viết

1.2.14 Deleted_at( ngày xóa)

Thời gian xóa bài viết (xóa mềm)

1.3 Bảng users

1.3.1 ID

ID này là duy nhất, mỗi user đều có 1 id khác nhau Kiểu dữ liệu là int và tăng dần

1.3.2 Name( tên user)

Đây là tên của user Kiểu dữ liệu là varchar

1.3.3 Avatar( ảnh đại diện)

Trang 7

1.3.4 Phone_number( số điện thoại)

Số điện thoại của user có kiểu dữ liệu là int

1.3.5 Email( email user)

Email của user có kiểu dữ liệu là varchar Nó là duy nhất vì nó sẽ được dùng

để đăng nhập vào hệ thống quản lý trang web

1.3.6 Password( mật khẩu)

Mật khẩu có kiểu dữ kiệu là varchar Nó dùng để đăng nhập vào hệ thống.1.3.7 Status( trạng thái: hoạt động hay đã khóa)

Status có 2 giá trị 1 hoặc 0 0 là đã khóa, 1 là đang hoạt động

1.3.8 Role( quyền: admin hay blogger)

Trường này có ý nghĩa là phân biệt admin hay bloger 0 là bloger, 1 là admin.1.3.9 Created_at( ngày tạo)

Ngày tạo ra tài khoản user

1.3.10 Quote ( câu nói tâm đắc )

1.4 Bảng comments

1.4.1 ID

ID này là duy nhất, mỗi comment đều có 1 id khác nhau Kiểu dữ liệu là int

và tăng dần

1.4.2 User_id( người tạo)

Id của user viết comment Kiểu dữ liệu là integer

1.4.3 Slug_post( đường dẫn bài viết đã comment)

1.4.4 content( nội dung comment)

1.4.5 Status( trạng thái: đã duyệt hay chưa)

Status có 2 giá trị 1 hoặc 0 0 là đã khóa, 1 là đang hoạt động

1.4.6 Created_at( ngày tạo)

Ngày tạo ra comment

Trang 8

Mô hình cơ sở dữ liệu hoàn chỉnh

Hình 1.2: Sơ đồ mô hình CSDL

Trang 9

CHƯƠNG 2 Quản lý User

Gồm các chức năng Thêm mới và Cập nhật, xóa bỏ Các chức năng này cho phépadmin thêm mới, cập nhật, xóa bỏ thông tin user Admin thêm mới thông tin khi có usermới và sẽ cập nhật, xóa bỏ thông tin thay đổi của các users

2.1 Thêm User

Thêm user là thêm một tài khoản, có thể là bloger hoặc admin Sau khi thêm, tàikhoản này có thể sử dụng cách chức năng tương ứng với tài khoản đó Ví dụ tài khoảnbloger thì có thể đăng bài, sửa bài… hay tài khoản admin thì có tất cả chức năng củatrang Web như duyệt bài, đăng bài, ẩn bài, xóa bài… Thêm tài khoản user chỉ có adminđược phép thêm

Cách tạo trong giao diện quản lý của admin

Hình 2.1 : giao diện tạo người dùngĐây là giao diện thêm tài khoản user của admin

Trong đó:

Tên: Nhập tên của user muốn thêm

Email: Nhập email của user

Mật khẩu: Nhập mật khẩu

Quyền: Chọn quyền admin hoặc bloger

Trang 10

2.2 Cập nhật User

Cập nhật user là admin hay bloger muốn thay đổi thông tin cá nhân của mình, ví dụnhư thay đổi số điện thoại hay thay đổi họ tên Vì đây là thông tin cá nhân nên ngườikhác không thể thay thế được thông tin của người khác kể cả admin, chỉ chính user đómới có quyền thay đổi Admin chỉ có quyền khóa hay bỏ khóa cho tài khoản của user

Hình 2.2 : giao diện thay đổi thông tin cá nhân

Hình 2.3 : giao diện thay đổi Password

Trang 11

2.3 Khóa User

Khi 1 user nào đó không còn hoạt động trong một thời gian hoặc có những hành vi xấu ( đăng bài với thông tin sai sự thật, comment không đúng mực… ) thì admin sẽ khóa tài khoản đó

* Chú ý: khi tài khoản bị khóa thì tất cả bài viết của tài khoản đó sẽ bị ẩn

Hình 2.4 : giao diện quản lý các tài khoản

Trang 12

CHƯƠNG 3 Quản lý thể loại,loại tin

Gồm 1 chức năng chính là Quản lý thông tin danh mục bài viết Chức năng này cho phép admin hay bloger thêm mới, cập nhật, phê duyệt các thông tin của danh mục nào đó.Sau khi đăng nhập hệ thống sẽ kiểm tra quyền quản trị trước

Hình 3.1.1: giao diện quản lý danh mục của Admin

Hình 3.1.2: giao diện xem danh mục của Blogger

Trang 13

3.1 Thêm danh mục

Khi admin hay bloger có một danh mục mới thì họ có thể thêm mới trong mục quản lý danh mục trong giao diện của họ

Hình 3.2: Giao diện thêm danh mục

Đây là giao diện khi admin hay bloger muốn thêm một danh mục mới

Trong đó:

Name: Tên của danh mục

Parent: Thuộc loại danh mục nào: Danh mục cha hay danh mục con

Slug: Đường dẫn

Description: Đoạn giới thiệu ngắn

Ngoài ra admin cũng có thể thêm danh mục trực tiếp trên database như thêm user ở phần trên

3.2 Sửa danh mục( tương tự như user )

3.3 Duyệt danh mục

Một user nào đó có quyền tạo thêm danh mục để đăng bài viết phù hợp Nhưng danh mục đó phải được sự phê duyệt của người quản trị

Trang 14

VD: Danh mục Game là danh mục cha khi ẩn đi thì các danh mục con là Liên Minh HT

và Liên Quân Mobile cũng sẽ bị ẩn đi

Hình 3.5: Ví dụ về Ẩn/Hiện danh mục

Trang 15

CHƯƠNG 4 Quản lý các bài viết

Gồm các chức năng thêm mới, cập nhật, xóa bài viết Các chức năng này cho phépadmin hay bloger quản lý được các bài viết của họ Mỗi bloger hay admin chỉ có thể thêmbài viết mới, cập nhât, xóa bài viết của riêng mình ( tài khoản admin hoạt động như mộtblogger ) Admin không có quyền thêm hay sửa một bài viết của user khác

Hình 4.1: giao diện quản lý bài viết của từng user

4.1 Thêm bài viết

Trong giao diện quản lý của mỗi tài khoản đều có mục thêm bài viết Sau khi thêmmới thành công, bài viết cần được admin duyệt, khi chưa được duyệt thì bài viết đượcmặc định ở dạng ẩn

Trang 16

Hình 4.2: giao diện thêm bài viết của từng user.

Đây là giao diện thêm mới bài viết

Trong đó:

• Title: Tiêu đề của bài viết

• Category: Loại danh mục

• Content: nội dung chi tiết bài viết, và được lưu trong CSDL dưới dạng HTML

• Thumbnail: Ảnh đại diện của bài viết

• Slug: Đường dẫn

• Description: Giới thiệu ngắn của bài viết

4.2 Sửa bài viết

Trong danh sách bài viết của user/admin có mục sửa bài viết của chính mình tại mỗi bài viết

Trang 17

Hình 4.3: giao diện sửa bài viết của từng user.

4.3 Xóa bài viết (xóa mềm)

Khi tác giả xóa đi bài viết của mình thì bài viết sẽ bị xóa khỏi trang web nhưng vẫn được lưu lại database Thời gian xóa của bài viết sẽ được cập nhật trong trường delete_at của bài viết đó trong database

4.4 Phê duyệt,ẩn,hiện bài viết

Khi một bài viết được tạo mới phải được sự phê duyệt của người quản trị thì mới

được hiện lên trang web Các bài viết mới chờ phê duyệt được hiển thị ở mục Quản lý trang blog/Duyệt bài đăng mới trong giao diện quản lý của Admin

Trang 18

Tất cả các bài viết được phê duyệt được hiển thị trong Quản lý trang blog/Danh sách bài đăng

Hình 4.5: Các bài viết đã được phê duyệt

Một bài viết sau khi được phê duyệt thì admin có thể ẩn hoặc hiển thị lại Các bài đăng bị

ẩn được hiển thị trong mục Quản lý trang blog/Các bài đăng bị ẩn

Hình 4.6: giao diện các bài viết bị ẩn

Trang 19

CHƯƠNG 5 Đăng ký, đăng nhập, đăng xuất5.1 Đăng ký

Người dùng muốn trở thành bloger để hợp tác với trang Web thì vào đăng ký một tài khoản với tài khoản là mail của người đó( mail phải hợp lệ, không phải là mail rác) và mật khẩu Sau khi đăng kí xong, người dùng phải chờ Admin duyệt, nếu được duyệt thì tài khoản đó mới dùng để đăng nhập được

Hình 5.1 giao diện trang đăng ký

Name: Tên của người dùng

Email Address: Địa chỉ email của người dùng ( dùng để đăng nhập )

Password: Mật khẩu của tài khoản

Repeat Password: Nhập lại mật khẩu ở trên ( Bắt buộc phải nhập đúng )

* Chú ý: Đăng ký chỉ tạo đc tài khoản Bloger

5.2 Đăng nhập

Trang 20

Sau khi đăng nhập thành công, hệ thống sẽ kiểm tra xem user đăng nhập là

Admin/Blogger mà chuyển hướng tới trang của Admin hay là Blogger

Đây là giao diện của admin Các chức năng gồm quảy lý bài viết, quản lý danh mục, quản

lý trang blog và quản lý tài khoản

Hình 5.3 giao diện trang quản lý của admin

Đây là giao diện của Blogger Các chức năng gồm quảy lý bài viết, quản lý danh mục

Hình 5.4 giao diện trang quản lý của blogger

5.3 Đăng xuất

Khi đăng xuất bạn được chuyển hướng sang trang chủ của web

Trang 21

CHƯƠNG 6 Giao diện người dùng

6.1 Cấu trúc giao diện

Các page của website được chia làm 5 thành phần : header, container, footer, sidebar, menu setting Trong đó header, sidebar, menu setting và footer được dùng chung cho các page Website có 6 page là:

• Trang chủ

• Lọc bài viết theo danh mục, tìm kiếm

• Xem chi tiết bài viết

• Giới thiệu: giới thiệu về trang web

• Liên hệ: phản hồi của người đọc về trang web

• Team page: infor các tác giả

6.1.1 Header

Hình 6.1 HeaderTrong đó:

• Menu đăng nhập, đăng ký

• Logo trang web

• Thanh menu điều hướng gồm các option trang chủ, danh mục, team page, giới thiệu, liên hệ, tìm kiếm, danh sách các bài viết nhiều lượt tìm kiếm nhất

Trang 24

6.3 Lọc bài viết theo danh mục, tìm kiếm

Tất cả các bài viết cùng danh mục sẽ được hiển thị trên cùng một trang

Hình 6.6 lọc bài viết theo danh mục

Tất cả các kết quả tìm kiếm được hiển thị trên một trang

Hình 6.7 tìm kiếm bài viết

Trang 25

6.4 Xem chi tiết bài viết

Toàn bộ nội dung chi tiết của bài viết được hiển thị tại đây Tính năng comment chỉ có thể sử dụng khi đã đăng nhập

Hình 6.8 Chi tiết bài viết

Trang 26

KẾT LUẬN

Qua quá trình làm đề tài, chúng em đã tổng hợp lại được các kiến thức trong thời gian học tại trường cũng như nắm vững được quy trình cài đặt và sử dụng website, có thểchủ động tìm kiếm các thông tin để phục vụ công việc

Hướng phát triển tiếp theo của đề tài là tiếp tục phát triển trang web trên nền tảng framework laravel để tối ưu hóa các tính năng cũng như thêm các tính năng mới

Trang 27

TÀI LIỆU THAM KHẢO

[1] Tổng quan về lập trình PHP & MySQL:

https://freetuts.net/hoc-php/php-va-mysql

[2] Download Xampp:

https://www.apachefriends.org/download.html

Xác nhận của cán bộ hướng dẫn

(Ký và ghi rõ họ tên)

Ngày đăng: 14/11/2019, 21:23

TỪ KHÓA LIÊN QUAN

w