Báo cáo thực tập tốt nghiệp , xây dựng website bán trái cây trực tuyến bằng ngôn ngữ php , mysql báo cáo 9d tốt nghiệp, đầy đủ chức năng , không thiếu thứ gì, bán trái cây online với phpmyadmin, php thuần, Báo cáo thực tập tốt nghiệp , xây dựng website bán trái cây trực tuyến bằng ngôn ngữ php , mysql báo cáo 9d tốt nghiệp, đầy đủ chức năng , không thiếu thứ gì, bán trái cây online với phpmyadmin, php thuần,
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
@&?
BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI NGHIÊN CỨU XÂY DỰNG
WEBSITE BÁN TRÁI CÂY TRỰC TUYẾN
Giảng viên hướng dẫn: TS Nguyễn Thị Ngọc Anh Sinh viên thực hiện: Trần Đình Vỹ – 20CNTT1
Đà Nẵng, tháng 04 năm 2024
Trang 2NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Đà Nẵng, ngày … tháng … năm …
Cán bộ hướng dẫn
Trang 3NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
Đà Nẵng, ngày … tháng … năm …
Hội đồng phản biện
Trang 4LỜI CAM ĐOAN
Em tên là Trần Đình Vỹ - 20CNTT1 Em xin cam đoan đây là đề tài do emthực hiện Các nội dung và kết quả nghiên cứu được trình bày trong báo cáo tốtnghiệp này là trung thực và mọi tham khảo đều được trích dẫn, chỉ rõ nguồn thamkhảo theo đúng quy định
Sinh viên thực hiện
Trần Đình Vỹ
Trang 5MỤC LỤC
DANH MỤC BẢNG BIỂU 5
MỤC LỤC HÌNH ẢNH 7
LỜI NÓI ĐẦU 9
MỞ ĐẦU 10
1 Lý do chọn đề tài 10
2 Mục tiêu đề tài 10
3 Đối tượng và phạm vi nghiên cứu 11
3.1 Đối tượng nghiên cứu 11
3.2 Phạm vi nghiên cứu 11
4 Phương pháp nghiên cứu 12
5 Ý nghĩa của đề tài 12
5.1 Ý nghĩa khoa học 12
5.2 Ý nghĩa thực tiễn 13
CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 14
1 Tìm hiểu về các ngôn ngữ lập trình hỗ trợ 14
1.1 Ngôn ngữ lập trình PHP 14
1.2 HTML,CSS và Javascript 19
2 Hệ quản trị CSDL phpMyAdmin 21
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23
1 Các yêu cầu đặt ra cho hệ thống 23
2 Xác định các tác nhân (Actors) 24
3 Xác định các trường hợp sử dụng (Use Case) 25
4 Các chức năng của hệ thống 25
Trang 64.1 Chức năng đăng ký 25
4.2 Chức năng đăng nhập 27
4.3 Chức năng tìm kiếm 29
4.4 Chức năng quản lý giỏ hàng 31
4.5 Chức năng đặt hàng 33
4.6 Chức năng quản lý người dùng 35
4.7 Chức năng quản lý sản phẩm 37
4.8 Chức năng quản lý đơn hàng 39
4.9 Chức năng quản lý thống kê 41
5 Thiết kê cơ sở dữ liệu 43
5.1 Bảng Users(Người dùng) 43
5.2 Bảng User(Admin) 44
5.3 Bảng Product(Sản phẩm) 44
5.4 Bảng Category(Danh mục) 45
5.5 Bảng Order( Đơn hàng) 45
5.6 Bảng Order Details(Chi tiết đơn hàng) 46
5.7 Thiết kế biểu đồ lớp 1
6 Biểu đồ hoạt động 48
6.1 Biểu đồ hoạt động đăng ký 48
6.2 Biểu đồ hoạt động đăng nhập 49
6.3 Biểu đồ hoạt động tìm kiếm 49
6.4 Biểu đồ hoạt động quản lý giỏ hàng 50
6.5 Biểu đồ hoạt động đặt hàng 50
6.6 Biểu đồ hoạt động quản lý người dùng 51
Trang 76.7 Biểu đồ hoạt động quản lý sản phẩm 51
6.8 Biểu đồ hoạt động quản lý đơn hàng 52
6.9 Biểu đồ hoạt động quản lý thống kê 52
7 Biểu đồ tuần tự 53
7.1 Biểu đồ tuần tự đăng ký 53
7.2 Biểu đồ tuần tự đăng nhập 54
7.3 Biểu đồ tuần tự quản lý giỏ hàng 54
7.4 Biểu đồ tuần tự tìm kiếm 55
7.5 Biểu đồ tuần tự đặt hàng 55
7.6 Biểu đồ tuần tự quản lý đơn hàng 56
7.7 Biểu đồ tuần tự quản lý sản phẩm 56
7.8 Biểu đồ tuần tự quản lý thống kê 57
7.9 Biểu đồ tuần tự quản lý người dùng 57
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 58
1 Thiết kế giao diện chức năng phía người dùng 58
1.1 Đăng ký 58
1.2 Đăng nhập 58
1.3 Trang chủ 59
1.4 Chi tiết sản phẩm 59
1.5 Quản lý giỏ hàng 60
1.6 Đặt hàng 60
2 Thiết kế giao diện chức năng phía quản lý 61
2.1 Giao diện trang chủ admin 61
2.2 Giao diện quản lý đơn hàng 61
Trang 82.3 Giao diện quản lý danh mục 62
2.4 Giao diện quản lý sản phẩm 62
2.5 Giao diện quản lý thống kê 63
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
1 Kết quả đạt được 65
2 Hạn chế 65
3 Hướng phát triển 66
TÀI LIỆU THAM KHẢO 67
Trang 9DANH MỤC BẢNG BIỂU
Bảng 1: Bảng đặc tả UseCase đăng ký 26
Bảng 2: Bảng sự kiện chính UseCase đăng ký 26
Bảng 3: Bảng sự kiện phụ UseCase đăng ký 26
Bảng 4: Bảng đặc tả UseCase đăng nhập 28
Bảng 5: Bảng sự kiện chính UseCase đăng nhập 28
Bảng 6: Bảng sự kiện phụ UseCase đăng nhập 28
Bảng 7:Bảng đặt tả UseCase tìm kiếm 30
Bảng 8:Bảng sự kiện chính UseCase tìm kiếm 30
Bảng 9:Bảng sự kiện phụ UseCase tìm kiếm 30
Bảng 10:Bảng đặt tả UseCase quản lý giỏ hàng 32
Bảng 11:Bảng sự kiện chính UseCase quản lý giỏ hàng 32
Bảng 12:Bảng sư kiện phụ UseCase quản lý giỏ hàng 33
Bảng 13:Bảng đặt tả UseCase đặt hàng 34
Bảng 14:Bảngsự kiện chính UseCase đặt hàng 34
Bảng 15:Bảngsự kiện phụ UseCase đặt hàng 34
Bảng 16:Bảng đặt tả UseCase quản lý người dùng 36
Bảng 17:Bảng sự kiện chínhUseCase quản lý người dùng 36
Bảng 18:Bảng sự kiện phụ UseCase quản lý người dùng 36
Bảng 19:Bảng đặt tả UseCase quản lý sản phẩm 38
Bảng 20:Bảng sự kiện chính UseCase quản lý sản phẩm 38
Bảng 21:Bảng sự kiện phụ UseCase quản lý sản phẩm 38
Bảng 22:Bảng đặt tả UseCase quản lí đơn hàng 40
Trang 10Bảng 23:Bảng sự kiện chính UseCase quản lí đơn hàng 40
Bảng 24:Bảng sự kiện phụ UseCase quản lí đơn hàng 41
Bảng 25:Bảng đặc tả UseCase quản lý đơn hàng 42
Bảng 26: Bảng sự kiện chính UseCase quản lý đơn hàng 42
Bảng 27:Bảng sự kiện phụ UseCase quản lý đơn hàng 43
Bảng 28: Thực thể Users 44
Bảng 29:Thực thể Useṛ ̣̣ 44
Bảng 30:Thực thể Product 45
Bảng 31:Thực thể Category 45
Bảng 32:Thực thể Orders 46
Bảng 33:Thực thể Order_Details 46
Trang 11MỤC LỤC HÌNH ẢNH
Hình 1.Biểu đồ UseCase đăng kí 27
Hình 2.Biểu đồ UseCase đăng nhập 29
Hình 3 Biểu đồ UseCase tìm kiếm sản phẩm 31
Hình 4.Biểu đồ UseCase Quản lý giỏ hàng 33
Hình 5.Bảng đặt tả UseCase đặt hàng 35
Hình 6 Biểu đồ UseCase quản lý người dùng 37
Hình 7.Biểu đồ UseCase quản lý sản phẩm 39
Hình 8.Biểu đồ UseCase quản lý đơn hàng 41
Hình 9.Biểu đồ UseCase quản lý thống kê 43
Hình 10.Biểu đồ lớp 1
Hình 11: Biểu đồ hoạt động dăng ký 48
Hình 12: Biểu đồ hoạt động đăng nhập 49
Hình 13: Biểu đồ hoạt động tìm kiếm 49
Hình 14: Biểu đồ hoạt động quản lý giỏ hàng 50
Hình 15: Biểu đồ hoạt động đặt hàng 50
Hình 16: Biểu đồ hoạt động quản lý người dùng 51
Hình 17: Biểu đồ hoạt động quản lý sản phẩm 51
Hình 18: Biểu đồ hoạt động quản lý đơn hàng 52
Hình 19: Biểu đồ hoạt động quản lý thống kê 52
Hình 20: Biểu đồ tuần tự đăng ký 53
Hình 21: Biểu đồ tuần tự đăng nhập 54
Hình 22:Biểu đồ tuần tự quản lý giỏ hàng 54
Trang 12Hình 23: Biểu đồ tuần tự tìm kiếm 55
Hình 24: Biểu đồ tuần tự đặt hàng 55
Hình 25: Biểu đồ tuần tự quản lý đơn hàng 56
Hình 26:Biểu đồ tuần tự quản lý sản phẩm 56
Hình 27:Biểu đồ tuần tự quản lý sản phẩm 57
Hình 28:Biểu đồ tuần tự quản lý người dùng 57
Hình 29: Giao diện trang đăng ký 58
Hình 30: Giao diện trang đăng nhập 58
Hình 31: Giao diện trang chủ 59
Hình 32: Giao diện trang chi tiết sản phẩm 59
Hình 33: Giao diện trang quản lý giỏ hàng 60
Hình 34: Giao diện trang đặt hàng 60
Hình 35: Giao diện trang chủ admin 61
Hình 36: Giao diện trang quản lý đơn hàng 61
Hình 37: Giao diện trang quản lý danh mục 62
Hình 38: Giao diện trang quản lý sản phẩm 62
Hình 39: Giao diện trang cập nhật sản phẩm 63
Hình 40: Giao diện quản lý thống kê theo danh mục 63
Hình 41: Giao diện quản lý thống kê sản phẩm 64
Hình 42: Giao diện quản lý thống kê kho 64
Trang 13LỜI NÓI ĐẦU
Trong xuyên suốt thời gian học tại trường Đại Học Sư Phạm- Đại Học
Đà Nẵng, cũng như trong khoản thời gian thực hiện và hoàn thành báo cáothực tập tốt nghiệp Em đã nhận được sự giúp đỡ, hướng dẫn, giảng dạynhiệt tình của quý thầy,cô khoa Công Nghệ Thông Tin Em xin chân thànhcảm ơn các thầy cô đã dìu dắt, dạy dỗ em cả về kiến thức chuyên môn vàtinh thần học tập để em có được những kiến thức thực hiện báo cáo thực tậptốt nghiệp của mình
Đặc biệt, em xin phép được bày tỏ tình cảm và lòng biết ơn với cô TS.Nguyễn Thị Ngọc Anh Người đã dìu dắt, từng bước hướng dẫn, giúp emhiểu rõ mục tiêu báo cáo thực tập tốt nghiệp mình cần làm gì, đưa lời khuyêntrong việc lựa chọn đề tài
Để có thể tiến tới đến ngày hôm nay, em rất biết ơn gia đình và người thân
đã cho em cơ hội, nuôi dưỡng, khích lệ, động viên cũng như tạo điều kiện tốtnhất để em được vững bước tiếp tục học tập Cảm ơn những người bạn, anhchị em đã luôn đồng hành và khích lệ giúp đỡ em trong xuất quá trình họctập
Tuy nhiên trong học tập, cũng như trong quá trình làm báo cáo khôngthể tránh khỏi những thiếu sót, em rất mong được sự góp ý quý báu của thầy
cô giáo cũng như các bạn để em có cái nhìn trực quan và kết quả được hoànthiện hơn cũng như có thêm nhiều kinh nghiệm cho công việc sau này
Một lần nữa em xin chân thành cảm ơn!
Trang 14Hiện nay, hầu hết tại các cửa hàng trái cây đã sử dụng rộng rãi ứngdụng công nghệ thông tin, giúp người dùng dễ dàng đặt mua sản phẩm, dễdàng quản lí thông tin cá nhân,… Bên cạnh đó, sự hỗ trợ mạnh mẽ của cácngôn ngữ lập trình, cùng với sự ra đời của các framework đã thúc đẩy emchọn đề tài “NGHIÊN CỨU XÂY DỰNG WEBSITE BÁN TRÁI TRỰCTUYẾN” để thực hiện đề tài nhằm đáp ứng theo chương trình đào tạo đồngthời mong muốn ứng dụng công nghệ đó vào việc tìm hiểu và đưa ra mộtgiải pháp tốt nhằm giải quyết công việc bán trái cây qua nền tảng trực tuyếncho các cửa hàng Với đề tài này, website sẽ cho phép người sử dụng thựchiện một cách nhanh chóng, chính xác việc tìm kiếm thông tin, các sảnphẩm, giá cả của chúng và tiến hành việc đặt mua trực tuyến, … với giaodiện làm việc thân thiện, tiện dụng với người sử dụng hệ thống, người tiêudùng.
Trang 152 Mục tiêu đề tài
Mục tiêu của đề tài là tìm ra giải pháp hiệu quả để giải quyết côngviệc bán trái cây trực tuyến cho các cửa hàng Các mục tiêu cụ thể của đề tàigồm:
Xác định đối tượng mục tiêu của website bán trái cây và nghiên cứuthói quen mua sắm trực tuyến của khách hàng để hiểu rõ nhu cầu và mongmuốn
Thiết kế giao diện người dùng hấp dẫn và dễ sử dụng, bao gồm việcxác định cấu trúc trang web, trang sản phẩm, giỏ hàng và tính năng thanhtoán, đồng thời đảm bảo tích hợp các phương thức thanh toán an toàn
Đề xuất cách quản lý thông tin sản phẩm, kho hàng và đơn hàng bằngcách xây dựng cơ sở dữ liệu hiệu quả để theo dõi thông tin sản phẩm vàkhách hàng
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Nông dân và doanh nghiệp chuyên sản xuất và cung cấp trái cây.
- Đối tượng có kích thước doanh nghiệp khác nhau và khả năng kỹ
thuật đa dạng
Quản trị viên Website:
- Những người quản lý và duy trì hệ thống trực tuyến.
Trang 16- Đối tượng này có thể là sinh viên, nhà phát triển web, hoặc những
người quan tâm đến quản lý trang web
3.2 Phạm vi nghiên cứu
- Phân tích và mô tả các chức năng cơ bản như đăng nhập, đăng ký,
quản lý sản phẩm, quản lý đơn đặt hàng, và thanh toán trựctuyến.Đánh giá trải nghiệm người dùng để đảm bảo giao diện thânthiện, dễ sử dụng, và tương thích trên nhiều thiết bị
- Nghiên cứu cách quản lý và hiển thị thông tin sản phẩm một cách hiệu
quả
- Phân tích quy trình quản lý người dùng và đơn đặt hàng.
- Nghiên cứu và thử nghiệm tính năng thanh toán trực tuyến.
- Đảm bảo rằng hệ thống đáp ứng các tiêu chuẩn bảo mật thông tin cá
nhân
- Xem xét tính năng đánh giá và phản hồi từ người mua.
- Đảm bảo tính minh bạch và tin cậy trong thông tin đánh giá.
4 Phương pháp nghiên cứu
- Khảo sát và thu thập thông tin thực tế
- Đọc và tìm hiểu cách phân tích và thiết kế một hệ thống
- Nghiên cứu và tìm hiểu một số phần mềm kinh doanh đồ ăn nhanhtrực tuyến
- Phân tích yêu cầu và đề xuất của phần mềm
- Thiết kế đặc tả hệ thống
- Viết báo cáo
5 Ý nghĩa của đề tài
5.1 Ý nghĩa khoa học
Đề tài đang hướng vào ứng dụng công nghệ thông tin trong lĩnh lĩnhvực chăm sóc sức khỏe, cụ thể là giao diện não-máy tính dựa trên nghiên
Trang 17cứu các EEG Việc ứng dụng những xu hướng mới trong việc khai phá dữliệu cho việc phân tích tính hiệu não đang nhận được sự quan tâm hàng đầucủa các nhà khoa học và các nhà nghiên cứu nhằm tạo ra những công cụphân tích linh hoạt Đóng góp chính của đề tài là đề xuất cách tiếp cận mớidựa trên đại số Grassmann trong việc trích chọn đặc trưng cho bài toán nhậndiện cảm xúc con người thông qua tín hiệu điện não đồ.
5.2 Ý nghĩa thực tiễn
Hướng đến cuộc cách mạng công nghệ của internet vạn vật, cảm biến
y tế có sẵn trong các thiết bị phục vụ đời sống hằng ngày (điện thoại thôngminh, đồng hồ thông minh), các thiết bị này thu thập và tạo ra rất nhiều dữliệu Hệ thống đề xuất có thể trả lời cho thách thức làm thế nào để phân tích
và xử lý những dữ liệu đó Đề tài nghiên cứu theo hướng tiếp cận mới, kếtquả sẽ được phát hành dưới dạng mã nguồn mở Vì đề tài nghiên cứu dựavào các dữ liệu mở và chia sẻ, mục tiêu là đóng góp kết quả nghiên cứu nhưmột tác động tiềm năng để thiết kế ra các công cụ mới để phân tích và đánhgiá hoạt động của não
Trang 18CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN
PHP có thể kết nối những website có giao diện bằng HTML với nhau
để chạy trên hệ thống máy chủ Do có cấu trúc đơn giản, dễ học, ngôn ngữPHP trở thành ngôn ngữ lập trình web căn bản, phù hợp với những người bắtđầu tìm hiểu về lập trình website
b Lịch sử hình thành và phát triển
PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI
do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập conđơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơyếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, Rasmus
đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữliệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản.Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem,
sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồmmột số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay
Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú
Trang 19pháp HTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơnnhiều, đơn giản và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đãthu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền cótrên mạng Internet Tuy đã có tới hàng nghìn người tham gia đóng góp vàoviệc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là
dự án của một người
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau mộtthời gian khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâusau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 [1]
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũivới các phiên bản PHP mà chúng ta được biết ngày nay Nó đã được AndiGutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mãnguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họ nhậnthấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thươngmại điện tử mà họ đang xúc tiến trong một dự án của trường đại học Trongmột nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có củaPHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/
Trang 20Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa
bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tênPHP/FI 2.0 gợi nhắc Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắthồi quy của "PHP: Hypertext Preprocessor"
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tớihàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài
nó Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máychủ Web có trên mạng Internet
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thờigian 9 tháng được cộng đồng kiểm nghiệm[1]
c PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công
bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phầnlõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụngphức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng nhưvậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khánhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã khôngđược thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệuquả[1]
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong têncủa Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thànhcông, và lần đầu tiên được giới thiệu vào giữa năm 1999 PHP 4.0, dựa trênđộng cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chínhthức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 rađời Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tínhnăng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiênlàm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tinngười sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngônngữ mới[1]
Trang 21Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn vàhàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trênmạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người vànhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP nhưPEAR, PECL và tài liệu kĩ thuật cho PHP[1]
d PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhómphát triển PHP tự mãn Cộng đồng PHP đã nhanh chóng giúp họ nhận ranhững yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đốitượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mớicủa MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính làmục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Một thảoluận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vàothời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quanđến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm
2002 Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố
để cộng đồng kiểm nghiệm Đó cũng là phiên bản đầu tiên của Zend Engine2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuấthiện của hai tính năng rất được chờ đợi Iterators, Reflection nhưngnamespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn.Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra vớiviệc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàmPHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHPnăm bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khádài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây
là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đóđáng kể là lỗi xác thực HTTP
Trang 22Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bốđánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lựctrong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữliệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà pháttriển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp môđun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trongSOAP, streams và SPL[1].
e PHP 6
Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết củaPHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace; hỗ trợ Unicode; sử dụngPDO là API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa rathành thư viện PECL Phiên bản 6 này chỉ dùng ở việc nghiên cứu và thửnghiệm Sau này PHP bỏ hẳn phiên bản 6 và lên 7[1]
f PHP 7
Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanhgấp 2 lần Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tínhnăng mới giúp cho PHP trở nên mạnh mẽ hơn Những tính năng mới quantrọng có thể kể đến như:
- Khai báo kiểu dữ liệu cho biến
- Xác định kiểu dữ liệu sẽ trả về cho 1 hàm
- Thêm các toán tử mới (??, <=>, )
Ưu điểm của PHP
PHP có tốc độ hoạt động rất nhanh và mang lại hiệu quả cao Điềunày được chứng minh đó là một server bình thường cũng có thể đáp ứngđược hàng triệu lượt truy cập mỗi ngày
Nếu bạn đã hiểu PHP là gì, bạn sẽ nhận thấy sự kết nối hỗ trợ đếnhàng triệu hệ quản trị cơ sở dữ liệu khác nhau của PHP hiện nay vô cùng
Trang 23tuyệt vời Đây cũng là lý do vì sao ngôn ngữ lập trình PHP được yêu thíchhàng đầu thế giới.
Không những thế, PHP còn có khả năng cung cấp một hệ thống dữliệu vô cùng phong phú Điều này có được là do ngay từ đầu, PHP đã đượcxây dựng với mục đích xây dựng và phát triển, nâng cao các ứng dụng trênweb Vì vậy, nó cung cấp rất nhiều hàm được xây dựng sẵn giúp người dùng
dễ dàng thực hiện các công việc như: gửi và nhận email, làm việc vớicookie,…
PHP còn sở hữu ưu điểm đó là một ngôn ngữ đơn giản, sử dụng dễdàng đối với cả những người mới bắt đầu nhập môn lập trình web
Đặc biệt, khi tìm hiểu PHP là gì, điều khiến nhiều người yêu thích đó
ở loại ngôn ngữ lập trình này đó chính là nó có thể được sử dụng trên nhiều
hệ điều hành khác nhau Thậm chí, trong nhiều trường hợp, các lập trìnhviên còn có thể đem mã PHP này để chạy trực tiếp trên các hệ điều hànhkhác mà hoàn toàn không phải sửa đổi lại mã
Lợi thế tiếp theo của PHP đó là mang tính cộng đồng Bởi PHP đượcphát triển và tối ưu liên tục từ các nhà phát triển lập trình trên toàn thế giới.Nhờ đó, PHP ngày càng trở nên thân thiện hơn với người dùng và từng bướchoàn thiện hơn nữa[3]
1.2 HTML,CSS và Javascript
- HTML
HTML là chữ viết tắt của Hypertext Markup Language Nó giúp
người dùng tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng,phân chia các đoạn văn, heading, links, blockquotes, vâng vâng
HTML không phải là ngôn ngữ lập trình, đồng nghĩa với việc nókhông thể tạo ra các chức năng “động” được Nó chỉ giống như MicrosoftWord, dùng để bố cục và định dạng trang web
Trang 24Khi làm việc với HTML, chúng ta sẽ sử dụng cấu trúc code đơn giản(tags và attributes) để đánh dấu lên trang web Ví dụ, chúng ta có thể tạo mộtđoạn văn bằng cách đặt văn bản vào trong cặp tag mở và đóng văn
bản <p> và </p>
Tổng quan, HTML là ngôn ngữ markup, nó rất trực tiếp dễ hiểu, dễhọc, và tất cả mọi người mới đều có thể bắt đầu học nó để xây dựngwebsite[5]
- CSS
CSS (là chữ viết tắt của Cascading Style Sheets) là một loại ngôn ngữlập trình được sử dụng phổ biến để có thể tìm và thực hiện định dạng lại chonhững phần tử được tạo ra bởi các ngôn ngữ đánh dấu
Bạn có thể hiểu đơn giản như sau: Trong một website, nếu HTML giữvai trò trong việc định dạng các ngôn ngữ phần tử nằm trên website với cácchức năng như: tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúpcho website có thêm một chút mới mẻ, phong cách và chuyên nghiệp hơnvào những phần tử HTML được tạo ra đó Các tùy chỉnh có thể gồm: màusắc trang, cách đổi màu chữ, cách thay đổi cấu trúc,…
CSS được đề xuất ra đời bởi lập trình viên Harkon Wium Lie và đượcsản xuất chính thức vào năm 1996[5]
Theo các chuyên gia, CSS ra đời với lý do như sau: Bởi vì hầu hếtcác ngôn ngữ được đánh dấu như: HTML hầu như không được thiết kế gắntag để có thể định dạng trang web mà bạn chỉ có thể sử dụng nó để đánh dấulên hệ thống website
- Javascript
Javascript là một ngôn ngữ lập trình website, được tích hợp và nhúng
trong HTML và giúp cho website trở nên sống động hơn Đây là dạng ngônngữ theo kịch bản, được hình thành dựa trên chính đối tượng phát triển cósẵn hoặc đơn giản là tự định nghĩa ra Javascript cho phép bạn kiểm soát các
Trang 25hành vi của trang web tốt hơn so với việc chỉ sử dụng mỗi HTML Có thể kểđến một vài ứng dụng thực tiễn cực kỳ quen thuộc của Javascript nhưslideshow, pop-up quảng cáo hay tính năng autocomplete của Google,…chúng đều được viết bằng ngôn ngữ Javascript.
Javascript được biết đến lần đầu tiên vào tháng 9 năm 1995, được tạovỏn vẹn trong vòng 10 ngày bởi Brendan Eich – một nhân viên Netscape.Thực chất tên gọi đầu tiên người ta dùng cho ngôn ngữ lập trình này làMocha, sau đó đổi thành Mona và tiếp tục biến đổi thành Livescript trướckhi trở thành ngôn ngữ lập trình Javascript phổ biến như bây giờ Phiên bảnđầu tiên của ngôn ngữ lập trình này bị Netspace giới hạn độc quyền và chỉ cócác tính năng hạn chế Tuy nhiên nó vẫn tiếp tục phát triển theo thời gian vàhoàn thiện đến thời điểm hiện tại nhờ sự làm việc liên tục của cộng đồng cáclập trình viên Javascript được biết đến lần đầu tiên vào tháng 9 năm 1995,được tạo vỏn vẹn trong vòng 10 ngày bởi Brendan Eich – một nhân viênNetscape Thực chất tên gọi đầu tiên người ta dùng cho ngôn ngữ lập trìnhnày là Mocha, sau đó đổi thành Mona và tiếp tục biến đổi thành Livescripttrước khi trở thành ngôn ngữ lập trình Javascript phổ biến như bây giờ.Phiên bản đầu tiên của ngôn ngữ lập trình này bị Netspace giới hạn độcquyền và chỉ có các tính năng hạn chế Tuy nhiên nó vẫn tiếp tục phát triểntheo thời gian và hoàn thiện đến thời điểm hiện tại nhờ sự làm việc liên tụccủa cộng đồng các lập trình viên[5]
2 Hệ quản trị CSDL phpMyAdmin
PHPMyAdmin - phần mềm mã nguồn mở mở viết theo ngôn ngữ lậptrình PHP, hỗ trợ hệ cơ sở quản trị dữ liệu MySQL Quá trình hỗ trợ để thựchiện thông qua giao diện web
Tính đến thời điểm hiện tại, PHPMyAdmin đã thu hút cả triệu lượt sửdụng Phần mềm này hỗ trợ hầu hết các hệ điều hành phổ biến và vẫn khôngngừng được cải thiện
Trang 26- Một vài tính năng chính của PHPMyAdmin
+ Chức năng quản lý người dùng: Bổ sung, chỉnh sửa, loại bỏ, thiếtlập phân quyền
+ Hỗ trợ quản lý cơ sở dữ liệu: Khởi tạo, chỉnh sửa, bổ sung các thuộctính (bảng, tường, tra cứu khối lượng, )
+ Xuất và nhập dữ liệu: PHPMyAdmin cho phép người dùng xuất vànhập dữ liệu thông qua nhiều định dạng như CSV, XML, SQL
+ Truy vấn MySQL: Phần mềm cho phép giám sát chặt chẽ quá trìnhtheo dõi
+ Sao lưu và khôi phục: Hỗ trợ thao tác thủ công
+ Ngoài hệ thống chức năng đa dạng, PHPMyAdmin còn được tíchhợp chức năng quản trị DBMS MySQL Nhằm hỗ trợ xử lý những tìnhhuống bất ngờ[5]
Ưu và nhược điểm của PHPMyAdmin
Ưu điểm
- PHPMyAdmin tương thích cao với nhiều hệ điều hành
- PHPMyAdmin có thể xem như công cụ lý tưởng để thiết lập, quản lý
hệ cơ sở dữ liệu Phần mềm lời theo nhiều đặc quyền cho người dùng,cho phép thực hiện truy vấn SQL, tích hợp đầy đủ chức năng quản trị
- Với PHPMyAdmin, bạn có thể đồng thời làm việc với đối tượng và xử
lý tình huống bất ngờ Ví dụ như với SQL injection, lỗi từ phía ngườidùng và tình huống database dễ dàng xử lý cùng lúc
Nhược điểm
- Hạn chế lớn nhất của phần mềm PHPMyAdmin làm ở khả năng sao
lưu tự động cài đặt trước và phương thức lưu trữ phương tiện truyềnthông Cụ thể, chức năng sao lưu tự động cài đặt trước hoạt động chưathực sự ổn định
Trang 27- Phần mềm PHPMyAdmin hiện vẫn chỉ hỗ trợ sao lưu vào Local Drive
tích hợp sẵn trong hệ thống Lưu trữ của hội thoại Save as hoạt độngchưa được mượt
Trang 28CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Các yêu cầu đặt ra cho hệ thống
Hệ thống là một website thương mại điện tử nên lợi nhuận và doanhthu đều từ phía của khách hàng , vì vậy các yêu cầu và nhu cầu cần đặt ra làphải phù hợp với yêu cầu của khách hàng
Yêu cầu về giao diện của website : Công nghệ thông tin phát triển vàđược ứng dụng rộng rãi trong cuộc sống hiện nay Khi mà internet là nơi lýtưởng để người dùng tìm kiếm thông tin, mua sắm hàng hóa dịch vụ thìwebsite được xem là công cụ hỗ trợ đắc lực nhất cho hoạt động kinh doanh,marketing online của doanh nghiệp Website giờ đây không chỉ là nơi đểcung cấp thông tin mà đây còn là nơi giúp doanh nghiệp tương tác hiệu quảvới khách hàng, từ đó thuyết phục khách hàng mua sản phẩm, dịch vụ của
mình Vì vậy, việc thiết kế web đẹp, thu hút người xem và mang lại nhiều
tiện ích cho người dùng là điều mà doanh nghiệp luôn quan tâm, chú ý
Giao diện web là nơi khách hàng nhìn thấy đầu tiên khi ghé thăm vàowebsite của bạn Vì vậy, việc tạo ấn tượng tốt với khách hàng ngay từ cáinhìn đầu tiên thì hình thức web là điều cần quan tâm
3 màu để đem đến cảm giác thoải mái cho người dùng
VỀ BỐ CỤC
Trang 29Một website đẹp, chuyên nghiệp, chất lượng tốt đòi hỏi bố cụcwebsite phải rõ ràng, khoa học, dễ dàng sử dụng Điều này sẽ giúp doanhnghiệp được khách hàng đánh giá cao, để lại ấn tượng tốt trong lòng kháchhàng.
VỀ HÌNH ẢNH
Việc sử dụng hình ảnh phù hợp, chất lượng sẽ mang lại hiệu quả caocho bạn Bạn nên lựa chọn những hình ảnh chất lượng, đẹp, không quá lớncũng không quá nhỏ Hình ảnh liên quan đến nội dung bài viết, sản phẩm đểgiúp khách hàng hiểu được phần nào bài viết khi nhìn vào hình ảnh trênwebsite của bạn
VỀ FONT CHỮ
Bạn không nên lựa chọn những font chữ khác lạ khiến người xem gặpkhó khăn trong việc tìm kiếm thông tin, nắm bắt được thông điệp mà doanhnghiệp muốn gửi đến khách hàng Vì vậy, tốt nhất bạn nên lựa chọn font chữphổ thông và in đậm những từ khóa, nội dung quan trọng
2 Xác định các tác nhân (Actors)
Người dùng chưa đăng nhập (Guest), Người đã đăng nhập (User) vàngười quản trị (Admin) và còn có hệ thống tác nhân phụ là hệ thống thanhtoán điện tử (Momo)
Guest :là những người chưa có tài khoản đăng nhập vào website.
Nhưng vẫn có thể vào website xem tìm kiếm sản phẩm , bài viết ,nội dungbình luận của những người đã có tài khoản
User: là những người đã có tài khoản đăng nhập vào hệ thống User
theo tiếng việt có nghĩ là người dùng, nhưng trong công nghệ thông tin họchỉ hiểu là user, mỗi máy tính chúng ta có thể tạo 1 hoặc nhiều người dùng
để bảo vệ máy tính, có nghĩa là khi tạo thành công một user thì khi truy cậpvào máy tính chúng ta sẽ cần phải có mật khẩu của user đó Mục đích chínhcủa hệ thống là để người dùng sử dụng được nhiều tính năng như là : quản lí
Trang 30được tài khoản mật khẩu riêng tư của mình , mua sản phẩm , đánh giá hoặcbình luận về một sản phẩm nào đó trong hệ thống.
Admin: là một bộ phận quan trong trong một hệ thống website Là
một người quản lí , đ1iều hành và kiểm tra tất cả các hoạt động của hệ thống.Tác nhân này có thể thực hiện và quản lí mọi chức năng trong hệ thống nhưquản lí kho, quản lí sản phẩm , quản lí các bình luận và phản hồi, thống kêdoanh thu và quản lí tất cả các tài khoản của các người dùng
3 Xác định các trường hợp sử dụng (Use Case)
- Guest: đăng ký, tìm kiếm, xem sản phẩm.
- User: đăng nhập, đăng ký, tìm kiếm, xem sản phẩm, quản lý giỏ hàng,
Sau khi Nhập thông tin tài khoản, mật khẩu, địa chỉ, số điện thoại, bộ
xử lí sẽ kiểm tra thông tin rồi gửi lên database, database sẽ kiểm tra dữ liệu,lưu lại và trả về thông báo nếu sai thì sẽ thông báo” Tài khoản hoặc Email đãđược sử dụng” và ngược lại sẽ hiển thị “Đăng kí thành công”
Trang 31UseCase Đăng ký
Điều kiện trước Khách hàng chưa có tài khoản
Điều kiện sau Khách hang đăng ký thành công
Mô tả Cho phép khách hàng đăng ký tài khoản website để
thực hiện các chức năng riêng biệt
Bảng 1: Bảng đặc tả UseCase đăng ký
Các sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1.Tác nhân tiến hành mở giao
diện đăng ký
1.1 Điền các trường thông tin
vào ô( tên, số điện thoại email,
quê quán , năm sinh)
1.2 Tiến hành kiểm tra dữ liệu và xác minh thông tin
1.3 Thông tin chính xác sẽ cho tác nhân đăng ký
Bảng 2: Bảng sự kiện chính UseCase đăng ký
Các sự kiện phụ
Hành động của tác nhân Hành động của hệ thống
2 Nhập thông tin tên hoặc số
điện thoại bị trùng
2.1 Hệ thống sẽ thông báo lỗi đăng ký thất bại
và yêu cầu tác nhân đăng ký lại thông tin hoặcchọn thoát
Bảng 3: Bảng sự kiện phụ UseCase đăng ký
Trang 32Biểu đồ Usecase Đăng ký:
Hình 1.Biểu đồ UseCase đăng kí
Tác nhân Người quản lý, khách hàng
Điều kiện trước Khách hàng đã đăng ký, người quản lý đã có
tài khoảnĐiều kiện sau Khách hàng và người quản lý đăng nhập thành
Trang 33Mô tả Cho phép người quản lý, khách hàng đăng
nhập vào website để thực hiện các chức năngriêng biệt
Bảng 4: Bảng đặc tả UseCase đăng nhập
Các sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1.Tác nhân tiến hành mở giao
Hành động của tác nhân Hành động của hệ thống
2 Nhập thông tin tài
khoản và mật khẩu không
chính xác
2.1 Hệ thống sẽ thông báo lỗi đăngnhập thất bại và yêu cầu tác nhân cungcấp lại thông tin hoặc chọn thoát
Bảng 6: Bảng sự kiện phụ UseCase đăng nhập
Trang 34Biểu đồ UseCase Đăng nhập
Hình 2.Biểu đồ UseCase đăng nhập
4.3 Chức năng tìm kiếm
Mô tả:
Chức năng tìm kiếm sản phẩm: Giúp người quản lí có thể dễ dàng tìmkiếm được sản phẩm đã được đăng lên cũng như giúp các bộ phận khácthông kê được sản phẩm mình đang bán trên website
Sau khi bấm vào chức năng tìm kiếm, bộ xử lý sẽ kiểm tra và gửi lêndatabase, database sẽ kiểm tra thông tin đã được lưu trước đó nếu có sẽ lấy
ra để gửi về cho người tìm kiếm, nếu không database sẽ gửi lại thông báokhông có sản phẩm tìm kiếm
Trang 35Điều kiện sau Hiển thị sản phẩm cần tìm của khách
Mô tả Cho phép người dùng tìm kiếm sản phẩm theo tên
để thuận tiện việc tìm sản phẩm
vào thanh tìm kiếm
1.2 Tiến hành kiểm tra dữ liệu và lọc
dữ liệu1.3 Thông tin chính xác sẽ đưa ra mànhình
Bảng 8:Bảng sự kiện chính UseCase tìm kiếm
Các sự kiện phụ
Hành động của tác nhân Hành động của hệ thống
2 Nhập tên sản phẩm sai 2.1 Hệ thống sẽ không hiển thị ra sản
phẩm nào
Bảng 9:Bảng sự kiện phụ UseCase tìm kiếm
Trang 36Biểu đồ UseCase Tìm kiếm
Hình 3 Biểu đồ UseCase tìm kiếm sản phẩm
4.4 Chức năng quản lý giỏ hàng
Mô tả:
Sau khi chọn xem chi tiết giỏ hàng, bộ xử lí sẽ kiểm tra thông tin rồigửi lên database, database sẽ kiểm tra dữ liệu, database sẽ kiểm tra dữ liệu,rồi lấy dữ liệu đã được lưu lại trên database sau đó sẽ hiển thị kết quả ngườidùng cần tìm
Chức năng thêm vào giỏ hàng: Giúp khách hàng có thể lưu lại nhưngsản phẩm mình cần hoặc muốn mua