Tải bản đầy đủ (.doc) (48 trang)

Báo cáo thực tập tốt nghiệp Diễn Đàn SEO (Kèm theo code php)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.32 MB, 48 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
▬▬▬▬▬
BÁO CÁO KẾT QUẢ
THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI: THIẾT KẾ VÀ XÂY DỰNG
FORUM SEO
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN


Giảng viên hướng dẫn : PGS.TSKH. Trần Quốc Chiến
Sinh viên thực hiện : Khổng Thanh Dũng
Địa điểm thực tập : Trung tâm CNTT & Truyền thông Đà Nẵng
Đà Nẵng, 2015
Thiết kế và xây dựng forum Seo
MỤC LỤC
MỤC LỤC HÌNH ẢNH 3
LỜI CẢM ƠN 4
MỞ ĐẦU 5
GIỚI THIỆU CƠ SỞ THỰC TẬP 7
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 9
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 17
CHƯƠNG 3. SẢN PHẨM DEMO 41
2.GIAO DIỆN 41
KẾT LUẬN 46
Tài liệu tham khảo 47
2 | P a g e
Thiết kế và xây dựng forum Seo
MỤC LỤC HÌNH ẢNH
Hình 1. Sơ đồ tổ chức Trung Tâm DNICT 7


Hình 2. Ví dụ về cấu trúc trang HTML 10
Hình 3. Bát quái SEO 17
Hình 4. Biểu đồ quan hệ thực thể ERD 23
Hình 5. Sơ đồ Use Case 23
Hình 6. Bảng dữ liệu seo_addfriends 27
Hình 7. Ví dụ dữ liệu seo_addfriends 28
Hình 8. Bảng dữ liệu seo_articles 29
Hình 9. Dữ liệu ví dụ bảng seo_articles 30
Hình 10. Bảng dữ liệu seo_categories 30
Hình 11. Dữ liệu ví dụ bảng seo_categories 31
Hình 12. Bảng seo_chat 31
Hình 13. Dữ liệu ví dụ bảng seo_chat 32
Hình 14. Bảng seo_comments 32
Hình 15. Dữ liệu ví dụ bảng seo_comment 33
Hình 16. Bảng seo_likearticles 34
Hình 17. Dữ liệu ví dụ bảng seo_likearticles 34
Hình 18. Bảng seo_members 35
Hình 19. Dữ liệu ví dụ bảng seo_members 36
Hình 20. Bảng seo_menu 36
Hình 21. Dữ liệu ví dụ bảng seo_menu 37
Hình 22. Bảng seo_notify 37
Hình 23. Bảng seo_subcate 38
Hình 24. Dữ liệu ví dụ bảng seo_subcate 39
Hình 25. Bảng seo_tag_user 39
Hình 26. Dữ liệu ví dụ bảng seo_tag_user 40
Hình 27. Sơ đồ tổng qan cơ sở dữ liệu 40
Hình 28. Khởi động localhost 41
Hình 29. Giao diện trang đăng nhập của thành viên 41
Hình 30. Giao diện trang đăng ký 42
Hình 31. Form đăng ký tham gia điễn đàn 42

Hình 32. Giao diện trang đăng nhập của admin 42
Hình 33. Giao diện trang chủ diễn đàn 43
Hình 34. Giao diện trang thống kê dành cho thành viên 44
Hình 35. Giao diện trang thống kê dành cho thành viên 44
Hình 36. Giao diện trang chủ của admin 45
3 | P a g e
Thiết kế và xây dựng forum Seo
LỜI CẢM ƠN
Em xin chân thành cảm ơn Trường Đại Học Sư Phạm – Đại Học Đà Nẵng,
Khoa Tin Học và Trung Tâm CNTT & Truyền thông Đà Nẵng đã tạo điều kiện cho
em hoàn thành tốt kỳ thực tập cuối khóa.
Em xin cảm ơn thầy PGS.TS. Trần Quốc Chiến Khoa Tin Học trường Đại
Học Sư Phạm Đà Nẵng, thầy Ngô Đình Cường giảng viên Trung Tâm CNTT &
Truyền thông Đà Nẵng đã trực tiếp hướng dẫn và tận tình giúp đỡ em trong quá
trình thực tập và hoàn thành tốt báo cáo thực tập tốt nghiệp.
Với vốn kiến thức còn hạn chế và thời gian thực tập có hạn nên em không
tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp, phê
bình của quý thầy cô và các anh chị tại trung tâm, đó sẽ là hành trang quý giá giúp
em hoàn thiện bản thân và kiến thức sau này.
Em xin chân thành cảm ơn!
4 | P a g e
Thiết kế và xây dựng forum Seo
MỞ ĐẦU
Thực tập tốt nghiệp là hoạt động giáo dục đặc thù nhằm góp phần hình thành,
phát triển phẩm chất và năng lực nghề nghiệp cần thiết của sinh viên theo mục tiêu
đào tạo đã đề ra. Đối với sinh viên, hoạt động thực tập tốt nghiệp có vai trò quan
trọng không chỉ với quá trình học tập mà còn với cả sự nghiệp của sinh viên sau
này.
Các hoạt động thực tiễn giúp sinh viên hiểu được mình sẽ làm công việc như thế
nào sau khi ra trường và có những điều chỉnh kịp thời, cùng với chiến lược rèn

luyện phù hợp hơn.
Trong thực tế, chương trình đào tạo trong các trường đại học đã cung cấp hệ
thống lý luận và lý thuyết hữu dụng về ngành nghề và nhất thiết cần được áp dụng
vào thực tiễn sinh động với đối tượng và môi trường nghề nghiệp cụ thể. Vì thế, các
kỳ thực tập càng trở nên cần thiết đối với sinh viên.
1. Lý do, mục đích của việc chọn đề tài thực tập
Thời đại công nghệ thông tin ngày càng phát triển, nhu cầu kết nối giữa các
thành viên, cộng đồng mạng về một lĩnh vực, chuyên nghành nào đó ngày càng lớn
mạnh, nhu cầu chia sẻ thông tin và tìm kiếm tài liệu luôn được mở rộng. Là một lập
trình viên website ngoài các kỹ năng như lập trình, thiết kế, phát triển ứng dụng
web, thì Seo là yếu tố quan trọng quyết định vị thứ website trên Google. Một
website được làm ra nhưng không được người dùng biết tới thì cũng vô tác dụng mà
lại mất tiền và nhiều công sức. Nhằm nâng cao kiến thức cá nhân, bổ sung thông tin
cho các lập trình viên website nói chung và lĩnh vực Seo nói riêng đồng thời phát
triển cộng đồng Seo ngày càng lớn mạnh nên em đã chọn đề tài xậy dựng Forum
Seo để phát triển cho kỳ thực tập này.
2. Mục tiêu cần đạt được
- Nắm bắt và hiểu rõ hơn về ngôn ngữ lập trình PHP, MySQL, Javascript,
Jquery và các kỹ thuật cần thiết để xây dựng ứng dụng và website.
- Kỹ năng làm việc nhóm hiệu quả và khoa học.
- Sản phầm demo cho ứng dụng.
3. Đối tượng và phạm vi thực tập
- Ngôn ngữ lập trình HTML, PHP, Javascript, Jquery…
- Hệ quản trị cơ sở dữ liệu MySQL.
- Forum seo
4. Phương pháp nghiên cứu
- Tìm hiểu thông tin trên mạng internet, sách, báo, tạp chí…
- Thông qua sự hướng dẫn của giáo viên thực tập và các tài liệu liên quan.
5 | P a g e
Thiết kế và xây dựng forum Seo

5. Cấu trúc đề tài
Nội dung báo cáo của đề tài bao gồm:
- Mở đầu.
- Giới thiệu cơ sở thực tập.
- Chương 1: Cơ sở lý thuyết của đề tài.
- Chương 2: Phân tích và thiết kế ứng dụng
- Chương 3: Kết quả, Demo ứng dụng.
6 | P a g e
Thiết kế và xây dựng forum Seo
GIỚI THIỆU CƠ SỞ THỰC TẬP
1. GIỚI THIỆU
Trung tâm Công nghệ Thông tin và Truyền thông Đà Nẵng (gọi tắt là DNICT:
Danang Information & Communication Technology Center) được Chủ tịch UBND
thành phố thành lập theo Quyết định số 5526/QĐ-UBND 17/8/2006, với "sứ mệnh"
chính: hỗ trợ và thúc đẩy quá trình ứng dụng và phát triển CNTT&TT của thành
phố Đà Nẵng và các tỉnh lân cận, trong tiến trình Việt Nam đang hướng đến chính
phủ điện tử (e-Gov).
Với đội ngũ cán bộ quản lý, kỹ thuật dày dạn kinh nghiệm và phương châm hoạt
động "Hợp tác để cùng thành công ", DNICT đã tư vấn, thiết kế triển khai thành
công nhiều công trình viễn thông và công nghệ thông tin quan trọng cho các cơ
quan quản lý nhà nước và doanh nghiệp.
2. CƠ CẤU TỔ CHỨC
Hình 1. Sơ đồ tổ chức Trung Tâm DNICT
2.1. Ban Giám đốc
* Ông Nguyễn Hoàng Cẩm : Giám đốc
- Điện thoại văn phòng : 0511 3 840 909
- Email :
* Ông Nguyễn Hữu Hải : Phó Giám đốc
- Điện thoại văn phòng : 0511 3 708 999
- Email :

2.2. Phòng Kế hoạch Quản trị
* Ông Đỗ Anh Tuấn : Trưởng phòng
- Điện thoại văn phòng : 0511 3 871 999
- Email :
* Bà Lê Huỳnh Ánh Vân : Phó Trưởng phòng - Phụ trách Kế toán
- Điện thoại văn phòng : 0511 3 871 999
- Email :
* Bà Nguyễn Thị Cẩm Tú : Phó Trưởng phòng
7 | P a g e
Thiết kế và xây dựng forum Seo
- Điện thoại văn phòng : 0511 3 871 999
- Email :
2.3. Phòng Công nghệ tư vấn
* Ông Nguyễn Minh Hải : Trưởng phòng
- Điện thoại văn phòng : 0511 3 709 777
- Email :
2.4. Phòng Phát triển phần mềm
* Ông Phạm Văn Tính : Trưởng phòng
- Điện thoại văn phòng : 0511 3 706 789
- Email :
* Ông Nguyễn Hữu Thanh : Phó Trưởng phòng
- Điện thoại văn phòng : 0511 3 706 789
- Email :
2.5. Phòng Đào tạo
* Ông Nguyễn Hữu Hải : Trưởng phòng
- Điện thoại văn phòng : 0511 3 708 999
- Email :
* Ông Ngô Đình Cường : Phó Trưởng phòng
- Điện thoại văn phòng : 0511 3 708 999
- Email :

2.6. Phòng Nghiên cứu Phát triển
* Ông Nguyễn Văn Phúc : Trưởng phòng
- Điện thoại văn phòng : 0511 3 504 999
- Email :
3. LĨNH VỰC HOẠT ĐỘNG
− Đào tạo nâng cao kỹ năng và trình độ quản lý, giám sát; nâng cao trình độ kỹ
thuật - công nghệ trong lĩnh vực viễn thông và công nghệ thông tin;
− Tư vấn, thiết kế, thẩm tra, giám sát các công trình thuộc lĩnh vực viễn thông
và công nghệ thông tin;
− Tư vấn giải pháp và thiết kế, phát triển các sản phẩm phần mềm, các công cụ
quản lý, điều hành để hỗ trợ quá trình thiết lập và vận hành e-Gov;
− Cung cấp thiết bị, xây lắp, bảo trì, bảo dưỡng, ứng cứu, xử lý sự cố các hệ
thống viễn thông, công nghệ thông tin, phát thanh, truyền hình;
− Tham gia hợp tác nghiên cứu và phát triển các giải pháp kỹ thuật - công nghệ
để áp dụng và chuyển giao theo đơn đặt hàng.
8 | P a g e
Thiết kế và xây dựng forum Seo
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1. LÝ THUYẾT VỀ HTML
1.1. Định nghĩa
HTML là gì? HTML viết tắt của Hypertext Markup Language - Ngôn ngữ liên
kết siêu văn bản. Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ
cho các trình duyệt (Web browsers) cách hiển thị các thành phần của trang như
text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn
phím và nhắp chuột.
1.2. Cấu trúc 1 trang HTML
Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3
phần:
<!Doctype>: Phần khai báo chuẩn của html hay xhtml.
<head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, script

<body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung.
a. Cấu trúc cơ bản
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" /><html>
<head>
<title>Tiêu đề trang web</title>
</head>
<body>
Phần thân viết ở đây
</body>
</html>
 Phần đầu: header, có thể chứa logo, câu slogan, các liên kết, các banner liên
kết, các button, đoạn flash, hoặc các form ngắn như form tìm kiếm…
 Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến
những trang quan trọng trong toàn bộ trang, trong phần này có thể chứa thêm
các liên kết con (sub navigation).
 Phần thân của trang: page body, phần này chứa phần nội dung chính
(content) và phần nội dung phụ (sidebar).
 Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện
cho người dùng xem.
 Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang
(local navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể dùng
để chứa các liên kết quảng cáo…
9 | P a g e
Thiết kế và xây dựng forum Seo
 Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: tên
công ty, địa chỉ, số điện thoại, mail liên hệ, và đặc biệt là copyright, hoặc
có thể chứa các liên kết toàn trang, các banner liên kết,
b. Ví dụ
Hình 2. Ví dụ về cấu trúc trang HTML

2. LÝ THUYẾT VỀ CSS
2.1. Định nghĩa
CSS (Cascading Style Sheets) được hiểu một cách đơn giản đó là cách mà chúng
ta thêm các kiểu hiển thị (font chữ, kích thước, màu sắc ) cho một tài liệu Web.
2.2. Cấu trúc file CSS
 Kết nối file css vào file html
<link href="url file css" rel="stylesheet" type="text/css" media="screen,print" />
 Viết nội dung CSS theo cấu trúc như sau:
Bộ chọn { thuộc tính: giá trị; }
p { color: red; }
10 | P a g e
Thiết kế và xây dựng forum Seo
Chúng ta có thể viết nhiều cặp thuộc tính và giá trị cho bộ chọn, mỗi cặp
thuộc tính và giá trị có thể viết cách nhau bởi dấu chấm phẩy.
p { color: red; float: left; padding-left: 10px; }
Đoạn code trên tương tự như đoạn code sau:
p {
color: red;
float: left;
padding-left: 10px;
}
 Bộ chọn theo tên id
tag#tênid { thuộc tính: giá trị; }
Bắt buộc phải có ký tự dấu "#" và tênid
div#content { width: 600px; }
 Bộ chọn theo tên class
tag.tênclass { thuộc tính: giá trị; }
Bắt buộc phải có ký tự dấu "." và tênclass
div.navi { background: #333333; }
 Bộ chọn theo cấp bậc

[tag cha] [tag con] [tag cháu] { thuộc tính: giá trị; }
 Cấu trúc này không bắt buộc, tuy nhiên cấu trúc này sẽ thuận tiện trong việc
điều chỉnh các thành phần con bên trong, và cũng để xác định thứ tự ưu tiên
trong CSS.
 Trong file HTML bên trên, trong phần content và navi đều có tồn tại thành
phần <p> nếu sử dụng cách chọn tag { thuộc tính: giá trị;} thì ta sẽ không
thể nào chọn được đâu là thành phần thuộc content, đâu là thành phần thuộc
navi, tuy nhiên sử dụng cách chọn theo cấp bậc thì việc này lại rất dễ dàng:
div#content p { color: #333333; } /* Chon thanh phan p theo content*/
div.navi p { background: #333333; } /* Chon thanh phan p theo navi*/
div#content ul li { display: inline; } /* Chon thanh phan li theo content*/
Comment là một dạng ghi chú, giúp người viết code giải thích nghĩa cho từng
đoạn code, cách viết một comment trong CSS như sau:
/* Đây là dòng comment */
3. LÝ THUYẾT VỀ JAVASCRIPT
3.1. Định nghĩa
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa
trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được
dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết
script sử dụng các đối tượng nằm sẵn trong các ứng dụng.
3.2. Cấu trúc
Một tư liệu HTML dùng javascript có cấu trúc như sau :
11 | P a g e
Thiết kế và xây dựng forum Seo
<html>
<head>
<meta http-equiv=“content-type" content="text/html; charset=utf-8">
<link type=“text/css” rel=“stylesheet” href=URL />
<script language=javascript>
/* Khai báo biến chung

Khai báo các hàm hay các câu lệnh
[ lời gọi hàm; ]
*/
</script>
</head>
<body> … Nội dung trang web
<script> lời gọi hàm; </script>
</body>
</html>
a. Các câu lệnh trong javascript
- Lệnh gán, khối lệnh, lời gọi hàm
- Câu lệnh if, else
- Câu lệnh switch
- Câu lệnh for
- Câu lệnh while …
- Câu lệnh do… while
- Câu lệnh for (thuộcTính in đốiTượng) { nhóm lệnh;}
b. Các phép toán trong javascript
- Phép toán số học
 = (dấu bằng) – VD, (x=8)
 + (dấu cộng) – VD, (x=7+8)
 (dấu trừ) – VD, (x=7-8)
 (dấu nhân) – VD, (x=7*8)
 / (dấu chia) – VD, (x=7/8)
- Phép gán
Operator Example Same as
= x = y x = y
+= x += y x = x+y
-= x -= y x = x-y
*= x *= y x = x*y

/= x /= y x = x/y
%= x %= y x = x%y
- Phép toán so sánh
Operator Meaning Example
12 | P a g e
Thiết kế và xây dựng forum Seo
== Identical 3 == 8 result FALSE
!= Different 3 != 8 result TRUE
> Bigger 3 > 8 result FALSE
< Smaller 3 < 8 result TRUE
>= Bigger or identical 3 >= 8 result FALSE
<= Smaller or identical 3 <= 8 result TRUE
- Phép toán logic (booleans)
 && - AND
 || - OR
 ! – NOT
c. Hàm trong javascript
- Hàm xây dựng sẵn trong javascript, gồm có 5 hàm:
 isNaN(biểuThức) → giá trị logic nếu biểuThức là một chuổi
 isFinite(biểuThức) → giá trị logic nếu giá trị vượt quá giới hạn
 eval(biểuThức) → lượng giá biểuThức
 parseInt(chuổi) → trị nguyên của một chuổi ký số
 parseFloat(chuổi) → trị thực của một chuổi ký số
- Hàm do người sử dụng định nghĩa
function tênHàm( [danh sách tham số] ){
// Các câu lệnh;
[ return [giáTrị];]
}
4. LÝ TUYẾT VỀ MYSQL
4.1. Định nghĩa

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên internet.
4.2. Cấu trúc
a. Kết nối đến database server
 Cú pháp
mysql_connect(server_name,username,password);
Đối với localhost, dù webserver có PORT là 81 vẫn không ghi thêm port, port
mặc định của database server MySQL là 3306.
13 | P a g e
Thiết kế và xây dựng forum Seo
Các phong cách sử dụng:
1- $con=mysql_connect(svn,usr,pss) or die(“Error :”.mysql_error());
2- $con=mysql_connect(svn,usr,pss);
if(!$con) {die(“Error :”.mysql_error(); //có thể thay đổi message}
else{ // truy cập database }
Ví dụ :
$con=mysql_connect(“localhost”,”root”,””) or die(“Error :”.mysql_error());
b. Thực thi câu lệnh sql
 Truy cập CSDL
mysql_select_db(“database name", $con);
với $con được trả về trong mysql_connect() đã thành công trước đó.
 Thực thi câu lệnh SQL
mysql_query(“SQL_Statement”);
Tùy theo câu lệnh SQL mà ta có kết quả trả về của hàm mysql_query()
mà ta có mã PHP xử lý tương ứng.
+ Câu lệnh Select : trả về mảng các record

+ Các câu lệnh khác : true/false tùy theo sự thành công hay không
c. Câu lệnh SQL : Select…
$strSQL=“Select * from table_name”; //nếu câu lệnh SQL dài, phức tạp.
$result = mysql_quer($strSQL);
if($result) { trích xuất dữ liệu trong mảng $result;} // !?
else {echo “Records not found!”;}
d. Câu lệnh SQL : Create Database
$result=mysql_query("CREATE DATABASE database_name",$con );
if($result) {echo “Database created!”;}
else {echo “Could’nt create database,” .mysql_error();}
e. Câu lệnh SQL: Create table
$sql = "CREATE TABLE table_name (
field_name data_type[(length)] constraint,…
)ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci";
f. Câu lệnh Insert, Update
$sql=“Insert into table_name(field_list) values(value_list);
$result=mysql_query($sql);
if(!$result) {echo mysql_error(); // xử lý tiếp;}
else { //xử lý …}
g. Câu lệnh SQL: Select…
$sql = “Select … ”;
$result = mysql_query($sql);
if(!$result) { echo “Record not found!”; }
else {
while($row = mysql_fetch_array($result)){
echo $row[‘firstField'] . " " . $row[‘secondField'];
14 | P a g e
Thiết kế và xây dựng forum Seo
echo "<br />";
}} // else

5. LÝ TUYẾT VỀ PHP
5.1. Định nghĩa
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình
kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng
viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp
với web và có thể dễ dàng nhúng vào trang HTML.
5.2. Cấu trúc
PHP cũng có thể bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối
với PHP chúng ta có nhiều cách để thể hiện.
Cách 1: Cú pháp chính:
<?php Mã lệnh PHP ?>
Cách 2: Cú pháp ngắn gọn
<? Mã lệnh PHP ?>
Cách 3: Cú pháp giống với ASP.
<% Mã lệnh PHP %>
Cách 4: Cú pháp bắt đầu bằng script
<script language=php>

</script>
 Xuất giá trị ra màn hình
 Khai báo biến trong php
Biến được bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ
nhưng phải viết liền hoặc có gạch dưới.
15 | P a g e
<?
echo “PHP is Simple”; // Đây là ví dụ về code PHP
?>
<?
echo “Hello word”;
printf “<br><Font color = Red> Who Are You </Font>”;

?>
<?
$a = 100; // biến a có giá trị là 100
$a = ‘PHP is easy’ // biến a có giá trị là ‘PHP is easy’
biena = 123 // lỗi vì bắt đầu phải có dấu ‘$’
$123a = “PHP” lỗi vì tên bắt đầu của biết là dạng số
?>
Thiết kế và xây dựng forum Seo
 Khái niệm về hằng trong php
Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp: define (string
tên_hằng, giá_trị_hằng).
Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số
yếu tố:
+ Hằng không có dấu "$" ở trước tên.
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần.
+ Hằng thường viết bằng chữ in để phân biệt với biến
 Khái niệm về chuỗi trong php
Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các
dấu nháy.
Ví dụ: ‘Huy’ "welcome to VietNam"
6. LÝ THUYẾT VỀ SEO
SEO (Search Engine Optimization) là tập hợp những phương pháp tối ưu hóa để
website trở lên thân thiện với máy chủ tìm kiếm (Search Engine) từ đó nâng cao thứ
hạng website khi người dùng tìm kiếm với các từ khóa liên quan.
SEO gồm 3 phần, Chiến lược, Chiến Thuật/Kỹ thuật và Copywriting. Chiến
lược SEO là quan trọng nhất và chỉ dành cho SEO Manager. Copywriting là khó
nhất chỉ dành cho content copywriter. Kỹ thuật SEO là ngại nhất chỉ dành cho SEO
GUY.!
Bát quái SEO bao gồm : Nghiên cứu từ khóa giả sử như camera 360, chọn

Domain Brand, Chiến lược nội dung, Cấu trúc website và onpage, CRO
(Conversion rate), Social media signals, Quảng bá web, Quản lý dự án Seo.
16 | P a g e
<?
define (“C”,”COMPANY”);
fefine (“YELLOW”,”#FFFF00”);
echo “gia tri của C là ”.C;
?>
Thiết kế và xây dựng forum Seo
Hình 3. Bát quái SEO
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ ỨNG
DỤNG
1. PHÁT BIỂU VẤN ĐỀ
Mong muốn có 1 forum thật sự và chất lượng, đầy ý nghĩa và mang tính thiết
thực nhằm phục vụ tốt cho việc tìm kiếm tài liệu Seo, các công cụ và kiến thức liên
quan của người sử dụng, đồng thời phục vụ nhu cầu chia sẻ thông tin của các
chuyên gia, kết nối đam mê, bày tỏ ý kiến cá nhân về những vấn đề cùng quan tâm
nên nhóm đã quyết định xây dựng và phát triển forum seo T2D với mong muốn
“kết nối đam mê, chia sẻ kiến thức” đến với người sử dụng.
1.1. Phân tích và đánh giá đối tượng sử dụng
a. Thành viên diễn đàn
Thành viên là người dùng đã đăng ký 1 tài khoản tại diễn đàn, và có những
chức năng như sau:
- Tìm kiếm tài liệu liên quan
- Chia sẻ thông tin, đăng bài viết lên diễn đàn
- Bình luận các bài viết liên quan
- Báo cáo các bài viết vi phạm, thành viên vi phạm tới BQT của diễn đàn
b. Quản trị diễn đàn
Là người dùng có nhiều chức năng nhất, vừa quản lý thành viên và vừa quản lý các
chủ đề, bài viết, tài liệu đăng trên diễn đàn. BQT gồm những chức năng như sau:

- Xóa thành viên ra khỏi diễn đàn
- Kiểm tra bài viết của thành viên và xuất bản
- Đăng bài viết mới, chủ đề mới
- Quy định nội quy, luật chơi trên diễn đàn
- Xem thống kê thành viên, bài viết mới
c. Khách vãng lai
17 | P a g e
Thiết kế và xây dựng forum Seo
Là người sử dụng có nhu cầu tìm kiếm tài liệu và các công cụ liên quan, nhằm
mục đích phục vụ cho công việc. Đối với khách vãng lai thì họ chỉ có thể tìm kiếm
và chia sẻ thông tin lên các mạng xã hội, ngoài ra không có chức năng nào khác.
1.2. Phân tích và đánh giá sản phẩm
a. Yêu cầu chức năng
- Giao diện dễ sử dụng, thân thiện với người dùng
- Chuẩn Seo
- Thành viên có thể quản lý được bài viết và thông tin cá nhân
- Tìm kiếm thông tin trong nội bộ diễn đàn
- BQT có thể quản lý được thành viên và bài viết của thành viên
- Thống kê thành viên online, thành viên, bài viết mới, thành viên vi phạm,
tổng số thành viên ,bài viết có trên diễn đàn
- Có sự logic giữa các chức năng
- Dễ bảo trì sau này
b. Yêu cầu phi chức năng
- Chi phí đầu tư là thấp nhất có thể
- Sử dụng phần mềm chụp ảnh
- Vận hành tốt trên tất cả các trình duyệt
- Thời gian tồn tại trên thị trường lâu nhất có thể
2. PHÂN TÍCH CHỨC NĂNG
 Nhiệm vụ của cá nhân trong xậy dựng và thiết kế forum seo
− Xây dựng giao diện trang chủ của Forum bằng HTML, CSS, Jquery.

− Xây dựng giao diện trang xem thông tin cá nhân của thành viên.
− Xây dựng trang đăng nhập và đăng ký thành viên, ứng dụng JavaScript để
kiểm tra thông tin nhập vào của người dùng.
− Thêm thành viên đăng ký vào hệ thống và kiểm tra lỗi nếu trùng user đăng
ký.
− Form chỉnh sửa và thêm thông tin cá nhân của user như: chèn hình ảnh, chèn
chữ ký, giới thiệu bản thân…
− Quản lý thành viên của Forum như: Thống kê thành viên online, quản lý và
thống kê thành viên mới, thành viên nhiều bài viết, khóa tài khoản của thành
viên vi phạm điều lệ của forum.
18 | P a g e
Thiết kế và xây dựng forum Seo
2.1. Biểu đồ phân rã chức năng BFD
2.2. Biểu đồ luồng dữ liệu DFD các mức
a. Biểu đồ mức ngữ cảnh
19 | P a g e
Diễn đàn
seo
BQT diễn
đàn
Thành
viên
Quản lý
thành viên
Quản lý bài
viết
Thêm bài
viết mới
Tìm kiếm
tài liệu

Chat
online
Bình luận
Báo cáo,
like
Xem và tải
bài viết
Phân
quyền
user
Gửi thông
báo
Khóa tài
khoản user
Duyệt bài
viết
Tìm bài
viết
Kiểm tra
bài viết
Thống kê
bài viết
Xóa bài viết
vi phạm
Foru
m Seo
Khách vãng
lai
Thành viên
diễn đàn

BQT của diễn đàn
Tìm kiếm thông tin
Kết quả tìm kiếm
Đăng bài viết lên diễn đàn
Xem thông tin cá nhân
Tìm kiếm thông tin, bài viết
Kết quả tìm kiếm
Thống kê bài viết
Thống kê thành viên
Tìm kiếm thông tin
Phân quyền
Thiết kế và xây dựng forum Seo
b. Biểu đồ luồng dữ liệu DFD mức 0
 Hệ thống gồm có:
20 | P a g e
Kiểm tra bài viết
Chỉ các chức năng
Chỉ các tác nhân
Kho dữ liệu
Hướng đi của luồng dữ liệu
Thành viên BQT diễn đàn
Khách truy
cập
(7) Thống kê
(4) Bình luận
(6) Quản lý bài
viết
(3) Viết bài(1) Tìm kiếm
(5) Quản lý thành
viên

(2) Đăng

Thành viên
Bài viết
Bài viết
Thành viên
Bài viết
Thành viên
Bình luận
Thiết kế và xây dựng forum Seo
c. Biểu đồ DFD mức 1
 Quản lý đăng ký
 Quản lý thống kê
 Quản lý bình luận
21 | P a g e
Khách vãng lai
(1) Kiểm tra
thông tin
DL thành viên
(2) Thêm vào
hệ thống
BQT diễn đàn
DL thành viên
DL bài viết
(1) Xử lý thông
tin
(2) Kết quả
thống kê
Người sử dụng
(1) Kiểm tra (2) Cập nhập

DL bình luận
Thiết kế và xây dựng forum Seo
 Quản lý viết bài
 Tìm kiếm
 Quản lý thành viên
22 | P a g e
BQT
Xử lý
thông tin
Kết quả
thống kê
TV bị block
TV nhiều bài viết
TV mới
TV nhiều like
Thành viên
(1) Chọn chủ
đề
BQT diễn đàn
(2) Kiểm tra
nội dung
(3) Xuất
bản
DL bài viết
Người sử dụng
(1) Kiểm tra (2) Kết quả
DL bài viết
DL thành viên
Thiết kế và xây dựng forum Seo
2.3. Biểu đồ quan hệ thực thể ERD

Hình 4. Biểu đồ quan hệ thực thể ERD
2.4. Sơ đồ Use Case
Hình 5. Sơ đồ Use Case
23 | P a g e
1
Thiết kế và xây dựng forum Seo
2.5. Đặc tả sơ đồ Use Case
2.5.1. Use Case Đăng nhập.
2.5.1.1. Mô tả:
Use Case này cho phép người sử dụng đăng nhập vào hệ thống của diễn
đàn, tùy theo đối tượng người dùng mà hệ thống sẽ cho phép người dùng
thực hiện các chức năng khác nhau.
2.5.1.2. Luồng cơ sở.
Use Case này bắt đầu khi người dùng kích vào ô đăng nhập
1. Hệ thống yêu cầu người dùng nhập Tên và Mật khẩu. Sau đó lựa chọn
Đăng nhập.
2. Hệ thống sẽ kiểm tra trong CSDL người dùng để xác thực các thông
tin nhập vào.
3. Tùy theo đối tượng người dùng, hệ thống sẽ dẫn đến trang chủ với
những chức năng phù hợp.
4. Đăng nhập thành công hay không thành công đều có một console
thông báo.
2.5.1.3. Luồng thay thế.
Sai thông tin đăng nhập:
Nếu, trong luồng cơ sở, người dùng đăng nhập với những thông tin không có
trong cơ sở dữ liệu người dùng, thì hệ thống sẽ thông báo lỗi và yêu cầu đăng
nhập lại.
2.5.1.4. Điều kiện đặc biệt
Chỉ có thành viên và admin mới được cấp quyền đăng nhập.
2.5.1.5. Điều kiện trước.

Không.
2.5.1.6. Điều kiện sau.
Không.
2.5.2. Use Case đăng ký
2.5.2.1. Mô tả
Use Case này cho phép khách vãng lai đăng ký làm thành viên của
diễn đàn.
2.5.2.2. Luồng cơ sở
Use Case này bắt đầu khi khách truy cập nhấn vào nút đăng ký thành
viên của diễn đàn.
 Hệ thống sẽ yêu cầu người dùng nhập username, tên, mật khẩu và địa chỉ
Email đăng ký.
 Hệ thống sẽ kiểm tra trong CSDL đã tồn tài username và Email này chưa.
 Nếu người dùng đăng ký thành công thì hệ thống sẽ thông báo.
2.5.2.3. Luồng thay thế
24 | P a g e
Thiết kế và xây dựng forum Seo
Sai thông tin đăng ký
Hệ thống sẽ kiểm tra username và email mà người dùng đã đăng ký,
nếu hệ thống đã tồn tại thì sẽ thông báo và yêu cầu người dùng nhập user và
email đăng ký khác
2.5.2.4. Điều kiện đặc biệt
Không.
2.5.2.5. Điều kiện trước
Không.
2.5.2.6. Điều kiện sau
Không.
2.5.3. Quản lý bài viết
2.5.3.1. Mô tả
Use Case này bắt đầu khi người dùng kích vào vùng quản lý bài viết,

tại đây hệ thống sẽ hiển thị các chức năng mà người dùng muốn sử dụng.
2.5.3.2. Luồng cơ sở
Hệ thống sẽ kiểm tra thông tin từ CSDL và cung cấp cho người dùng các
chức năng như:
+ Thống kê bài viết mới.
+ Thống kê bài viết nhiều like.
+ Thống kê bài viết nhiều comment.
+ Thống kê bài viết bị spam.
2.5.3.3. Luồng thay thế
Phân loại người dùng giữa thành viên và admin.
2.5.3.4. Điều kiện đặc biệt
Chỉ có thành viên và admin mới có quyền truy cập
2.5.3.5. Điều kiện trước
Người dùng cần phải đăng nhập.
2.5.3.6. Điều kiện sau
Không.
2.5.4. Use Case quản lý tài khoản
2.5.4.1. Mô tả
Use Case này bắt đầu khi người dùng kích vào chức năng quản lý tài
khoản, tùy vào mỗi đối tượng sử dụng mà hệ thống sẽ cung cấp các chức
năng khác nhau.
2.5.4.2. Luồng cơ sở
Đối với thành viên thì hệ thống sẽ cung cấp các chức năng như sau:
+ Kiểm tra tài khoản các nhân
+ Thay đổi thông tin
+ Cập nhập thêm thông tin mới
Đối với admin thì hệ thống sẽ cung cấp nhiều chức năng hơn như:
25 | P a g e

×