Hệ thống thông báo lỗi và hiển thị lại để người dùng nhập lại tài khoản.. tả t m tắt Tác nhân: Người quản trị, Nh n vi n, hách hàng Mô tả: Nh n vi n và người quản trị là những người trự
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
TRẦN KHÁNH LỘC
NGHIÊN CỨU LARAVEL FRAMEWORK
VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE
ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN
NIÊN KHÓA: 2016 - 2019
Đà Nẵng, 06/2019
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
TRẦN KHÁNH LỘC
MÃ HSSV: CCCT16B011
NGHIÊN CỨU LARAVEL FRAMEWORK
VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE
ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN
NIÊN KHÓA: 2016 - 2019
Cán bộ hướng dẫn: ThS Trịnh Thị Ngọc Linh
Đà Nẵng, 06/2019
Trang 3Trong quá trình thực hiện đề tài này chúng em đã cố gắng hết sức để tìm hiểu và cài đặt chương trình nhưng vì lượng kiến thức có hạn nên có thể chưa giải quyết được tất cả các vấn đề đặt ra Hơn nữa, quá trình khảo sát đề tài vẫn còn những hạn chế nhất định, ảnh hưởng tới việc phân tích và thiết kế hệ thống còn chưa tối ưu Em rất mong nhận được sự thông cảm của Thầy, Cô giáo
Em xin ch n thành cảm ơn c Trịnh Thị Ng c inh đã g p và giúp đ em trong suốt quá trình làm đề tài này để em hoàn thành được tốt đ p và đúng tiến đ được giao
Em xin chân thành cảm ơn!
Trang 4MỤC LỤC ii
DANH MỤC HÌNH NH v
Ở ĐẦU 1
1 T nh cấp thiết của đề tài 1
2 ục ti u nghi n cứu 1
3 Đối tượng và phạm vi nghi n cứu 1
4 Phương pháp nghi n cứu 1
5 ngh a hoa h c và thực ti n của đề tài 1
6 ố cục đề tài 2
CHƯƠNG CƠ SỞ L LUẬN 3
1.1 LARAVEL FRAMEWORK 3
1.1.1 Framewor là gì 3
1.1.2 aravel là gì 3
1.1.3 Lịch sử ra đời 3
1.1.4 hình VC là gì 4
1.1.5 Ưu nhược điểm 5
1.2 MICROSOFT SQL SERVER 7
1.2.1 hái niệm 7
1.2.2 Lịch sử phát triển 7
1.2.3 Các thành phần 7
1.3 PHP 8
1.3.1 Mô tả về PHP 8
1.3.2 Phiên bản của PHP 9
1.4 HTML 10
1.4.1 HTML là gì? 10
1.4.2 Bố cục cơ bản của HTML trên m t trang web 10
Trang 51.4.5 Thẻ <!DOCTYPE> 13
1.4.6 Công cụ code HTML 13
1.5 CSS 13
1.5.1 CSS là gì? 13
1.5.2 Cấu trúc 13
1.6 PHƯ NG THỨC THANH TOÁN PAYPAL 14
CHƯƠNG PH N T CH THIẾT Ế WEBSITE L G 15
2.1 T NG QUAN V Đ T I 15
2.1.1 Phát biểu bài toán 15
2.1.2 Y u cầu hệ thống 15
2.2 H NH H A Y U CẦU 16
2.2.1 Xác định tác nh n 16
2.2.2 Xác định các trường hợp sử dụng 16
2.2.3 Đặc tả các trường hợp sử dụng 16
2.2.4 iểu đ trường hợp sử dụng 22
2.2.5 iểu đ hoạt đ ng 24
2.3 H NH H I NIỆ 26
2.3.1 Các lớp bi n của hệ thống 26
2.3.2 Các lớp điều hiển của hệ thống 26
2.3.3 iểu đ lớp thực thể mức ph n t ch 27
2.4 H NH TƯ NG T C 28
2.4.1 iểu đ tuần tự 28
2.4.2 iểu đ c ng tác 29
2.4.3 iểu đ trạng thái 30
CHƯƠNG GIỚI THIỆU V WEBSITE 31
3.1 SỬ DỤNG ARAVE ĐỂ XẤY DỰNG WEBSITE 31
Trang 63.1.3 Các thư viện 37
3.2 HƯỚNG DẪN CÁCH MUA HÀNG VÀ THANH TOÁN 45
ẾT LUẬN 56
T I IỆU THA H O vi
Trang 7Hình 1.2 Bố cục cơ bản của HTML trên m t trang web 11
Hình 1.3 Hiển thị ra ngoài trình duyệt 12
Hình 2.1 Biểu đ trường hợp sử dụng của hệ thống 22
Hình 2.2 Biểu đ trường hợp cập nhật sản phẩm 23
Hình 2.3 Biểu đ trường hợp thanh toán 23
Hình 2.4 Biểu đ hoạt đ ng đăng nhập hệ thống 24
Hình 2.5 Biểu đ hoạt đ ng đăng thành vi n 24
Hình 2.6 Biểu đ hoạt đ ng thanh toán 25
Hình 2.7 Biểu đ hoạt đ ng xem thông tin giỏ hàng 25
Hình 2.8 Lớp biên của hệ thống 26
Hình 2.9 Lớp điều khiển của hệ thống 26
Hình 2.10 Biểu đ lớp 27
Hình 2.11 Biểu đ tuần tự đăng nhập 28
Hình 2.12 Biểu đ tuần tự thanh toán 28
Hình 2.13 Biểu đ c ng tác thanh toán 29
Hình 2.14 Biểu đ c ng tác đăng nhập hệ thống 29
Hình 2.15 Biểu đ trạng thái đăng nhập 30
Hình 2.16 Biểu đ trạng thái thanh toán 30
Hình 2.17 Biểu đ trạng thái tìm kiếm 30
Hình 3.1 Giao diện trang chủ 46
Hình 3.2 Giao diện chi tiết sản phẩm 47
Hình 3.3 Giao diện giỏ hàng 48
Hình 3.4 Giao diện đăng nhập, đăng 49
Hình 3.5 Giao diện thanh toán 50
Hình 3.6 Giao diện xem lại đơn hàng 51
Hình 3.7 Giao diện thanh toán lúc giao hàng 52
Hình 3.8 Giao diện thanh toán trực tuyến 53
Trang 8Ở ĐẦU
1 T h ấ h à
Với số lượng hách hàng mỗi lúc m t tăng và các đơn hàng trở n n dày đặc Nên nhu cầu cần đến m t website thương mại điện tử và sử dụng dịch vụ thanh toán trực tuyến là m t cách v cùng hiệu quả để quản l việc mua bán, thanh toán trực tuyến và chăm s c hách hàng của doanh nghiệp hoặc các c ng ty về thương mại n cạnh đ
m t framewor hỗ trợ rất nhiều thư viện để giúp việc x y dựng website d dàng đ
ch nh là aravel framewor Xuất phát từ các l do đ , em ch n đề tài: “Nghi n cứu Laravel framwork và sử dụng thanh toán trực tuyến Paypal để x y dựng website thương mại điện tử cho C ng ty Green Sale”
2 h
Tìm hiểu các c ng nghệ về lập trình web:
Tìm hiểu về framewor của php là aravel
Nguy n l hoạt đ ng của m t ứng dụng web được lập trình từ aravel framework
- Công cụ lập trình: Sublime Text 3, Xampp
- Các thư viện trong aravel framewor như igration, Seeder, Auth,
- Dịch vụ thanh toán trực tuyến Paypal
Trang 9 Mua các loại sản phẩm của cửa hàng qua mạng Internet
Thanh toán trực tuyến qua Paypal hoặc thanh toán trực tiếp hi nhận sản phẩm
6 B à
áo cáo được trình bày bao g m các phần ch nh như sau:
Chương 1 Cơ sở l luận
Chương 2 Ph n t ch thiết ế website là gì?
Chương 3 Website là gì?
Trang 10CHƯƠNG : CƠ SỞ L LUẬN
1.1 LARAVEL FRAMEWORK
1.1.1 à
Framework là các lớp đã được xây dựng hoàn ch nh, b hung để phát triển các phần mềm ứng dụng Có thể v Framewor như tập các “ Vật liệu” ở từng l nh vực cho người lập trình viên, thay vì h phải mất nhiều thời gian để tự thiết kế trước khi dùng
Do vậy, người lập trình viên ch cần tìm hiểu và khai thác các vật liệu này r i thực hiện để gắn kết chúng lại với nhau, tạo ra sản phẩm
1.1.2 L à
Laravel là m t php framework mã ngu n mở và mi n ph , được phát triển bởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view- controller (MVC) Những t nh năng nổi bật của Laravel bao g m cú pháp d hiểu- rõ ràng, m t hệ thống đ ng g i odular và quản lý gói phụ thu c, nhiều cách hác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
1.1.3 Lịch sử ời
ản aravel beta đầu ti n được phát hành vào ngày 9/6/2011, tiếp đ là Laravel
1 phát hành trong cùng tháng aravel 1 bao g m các t nh năng như xác thực, bản địa
h a, model, view, session, định tuyến và các cơ cấu hác, nhưng vẫn còn thiếu controller, điều này làm n chưa thật sự là m t VC framewor đúng ngh a
Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác
giả và c ng đ ng T nh năng đáng ể bao g m hỗ trợ controller, điều này thực sự biến aravel 2 thành m t VC framewor hoàn ch nh, hỗ trợ Inversion of Control (IoC),
hệ thống template lade n cạnh đ , c m t nhược điểm là hỗ trợ cho các g i của nhà phát triển b n thứ 3 bị g bỏ
Laravel 3 được phát hành vào tháng 2 năm 2012, với m t tấn t nh năng mới bao
g m giao diện dòng lệnh (C I) t n “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản trị
cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu igration, hỗ trợ “bắt sự iện” trong ứng dụng, và hệ thống quản l g i g i là “ undles” ượng người dùng và sự phổ biến tăng trưởng mạnh ể từ phi n bản aravel 3
Laravel 4, t n mã “Illuminate”, được phát hành vào tháng 5 năm 2013 ần này
thực sự là sự l t xác của aravel framewor , di chuyển và tái cấu trúc các g i hỗ trợ vào m t tập được ph n phối th ng qua Composer, m t chương trình quản l g i thư
Trang 11viện phụ thu c đ c lập của PHP ố tr mới như vậy giúp hả năng mở r ng của aravel 4 tốt hơn nhiều so với các phi n bản trước Ra mắt lịch phát hành ch nh thức mỗi sáu tháng m t phi n bản n ng cấp nhỏ các t nh năng hác trong Laravel 4 bao
g m tạo và th m dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các iểu gởi mail, và
hỗ trợ “x a mềm” (soft-delete: record bị l c hỏi các truy vấn từ Eloquent mà h ng thực sự x a hẳn hỏi D )
Laravel 5 được phát hành trong tháng 2 năm 2015, như m t ết quả thay đổi
đáng ể cho việc ết thúc vòng đời n ng cấp aravel l n 4.3 n cạnh m t loạt t nh năng mới và các cải tiến như hiện tại, aravel 5 cũng giới thiệu cấu trúc c y thư mục
n i b cho phát triển ứng dụng mới Những t nh năng mới của aravel 5 bao g m h trợ lập lịch định ỳ thực hiện nhiệm vụ th ng qua m t g i t n là “Scheduler”, m t lớp trừu tượng g i là “Flysystem” cho phép điều hiển việc lưu trữ từ xa đơn giản như lưu trữ tr n máy local – d thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản
l assets th ng qua “Elixir”, cũng như đơn giản h a quản l xác thực với các dịch vụ
b n ngoài bằng g i “Socialite”
Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu ti n nhận
được hỗ trợ dài hạng ( TS) với m t ết hoạch fix bug l n tới 2 năm vào hỗ trợ vá lỗi bảo mật l n tới 3 năm Các bản phát hành TS của aravel được l n ế hoạch theo mỗi 2 năm
Laravel 5.8 là version mới nhất của aravel
odel: Đ y là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử l , truy xuất database, đối tượng m tả dữ liệu như các Class, hàm xử l
View: Đảm nhận việc hiển thị th ng tin, tương tác với người dùng, nơi chứa tất
cả các đối tượng GUI như textbox, images, Hiểu đơn giản thì n là tập hợp các form
Trang 12hoặc các file HT
1.1.4.3
Hình 1.1 Luồng đi trong MVC
hi c m t y u cầu từ ph a client gửi đến Sever, b phận Controller c nhiệm vụ nhận y u cầu, xử l y u cầu đ Và nếu cần, n s g i đến phần model, vốn là b phận làm việc với database
Sau hi xử l xong, toàn b ết quả được đẩy về phần View Tại View, s gen ra
mã HT tạo n n giao diện, và trả toàn b html về trình duyệt để hiển thị
1.1.5 Ư hư c ểm
1.1.5.1 Sử dụ c c tí ă ới nhất của PHP
t trong những t nh năng làm cho PHP ararel framewor trở n n nổi bật hơn tất cả đ là n sử dụng tất cả các t nh năng mới của PHP Các framework khác không tận dụng được điểu này Sử dụng aravel 5 bạn s sở hữu m t số t nh năng mới nhất
mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax Đã c rất nhiều b C S nổi bật được viết tr n nền aravel framewor ra đời, từ những b C S đơn giản nhất đến những b "si u mạnh",
từ mã ngu n mở đến thương mại
1.1.5.2 Tài li u tuy t vời
Tài liệu của aravel rất th n thiện với nhà phát triển Tất cả các phi n bản của aravel được phát hành cùng với các tài liệu phù hợp, bạn s tìm thấy những giải th ch chi tiết về coding style, methods và classes
Trang 131.1.5.3 Tích hợp với dịch vụ mail
Các ứng dụng web bắt bu c phải th ng báo cho người dùng về các deal và offer mới Đăng người dùng mới cũng rất quan tr ng (ngh a là th ng báo cho người dùng mới hi anh ấy/ c ấy đăng ) Framewor được trang bị API sạch tr n thư viện SwiftMailer Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail" function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa tr n đám
m y hoặc dịch vụ local
1.1.5.4 Hỗ trợ cache backend phổ biến
aravel framewor hỗ trợ các cache bac end như emcached và Redis the-box ạn cũng c thể tùy ch nh nhiều cấu hình cache
out-of-1.1.5.5 Công cụ tích hợp cho dòng l nh - Artisan
Các nhà phát triển thường thấy tẻ nhạt hi thực hiện các nhiệm vụ lập trình lặp đi lặp lại vì chúng rất tốn thời gian C ng cụ dòng lệnh c t n Artisan giúp h tạo hung code và quản l hệ thống cơ sở dữ liệu hiệu quả Artisan giúp tạo các tệp VC cơ bản
và quản l tài sản, bao g m cả các cấu hình tương ứng của chúng
1.1.5.6 Gói và ngu n lực sẵn có
ạn s được hưởng lợi ch từ npm pac age và bower pac age bằng cách ết hợp framewor với Gulp và elixir, giúp trong việc sửa đổi tài nguy n Việc t ch hợp này s giải quyết các phụ thu c và là ngu n g i đáng tin cậy nhất trong thế giới PHP
1.1.5.7 Giảm chu kỳ phát triển sản phẩm
ạn c thể giảm đáng ể chu ỳ phát triển sản phẩm vì framwor giúp t ch hợp nhanh hơn, b n cạnh đ là c ng đ ng hỗ trợ rất lớn - Laracasts
1.1.5.8 Container IoC
Còn được g i là Inversion of Control, đ y là m t phương thức để tạo các đối tượng mới mà h ng phải hởi đ ng bất ỳ thư viện b n ngoài nào N i cách hác, bạn c thể truy cập các đối tượng này từ bất cứ nơi nào bạn đang mã h a, bạn s h ng còn gặp h hăn với các cấu trúc nguy n hối h ng linh hoạt
1.1.5.9 Reverse Routing
Đ y là m t t nh năng rất hữu ch trong framwor , bạn c thể tạo li n ết đến các route được đặt t n Vì vậy, hi tạo các li n ết, bạn ch cần sử dụng t n của b định tuyến, framewor s tự đ ng chèn UR ch nh xác Nếu bạn cần thay đổi các route trong tương lai, những thay đổi s tự đ ng được thực hiện ở m i nơi
Trang 141.1.5.10 Eloquent ORM
Đ y là m t trong những t nh năng tốt nhất của aravel, cung cấp m t triển hai ActiveRecord đơn giản và hiệu quả, làm việc với cơ sở dữ liệu Các m hình bạn tạo trong VC s c m t bảng tương ứng trong cơ sở dữ liệu OR c các mối quan hệ, nếu bạn thao tác m t bảng trong cơ sở dữ liệu, bạn cũng s quản l các dữ liệu li n quan Các mối quan hệ đ là: one-to-one, one-to-many, many-to-many, has-many-through, polymorphic, và many-to-many polymorphic
1.2 MICROSOFT SQL SERVER
1.2.1 h
Microsoft SQL Server là hệ quản trị cơ sở dữ liệu (CSD ) quan hệ do hãng icrosoft phát triển sử dụng ng n ngữ truy vấn Transact-SQ (T-SQ ) để trao đổi dữ liệu giữa máy hách (Client) và máy chủ (Server) – hình Client Server
Hiện nay, S SQ Server ch chạy tr n hệ điều hành windows của icrosoft Nhưng việc ết nối đến S SQ Server c thể thực hiện từ các hệ điều hành hác nhau dựa tr n thư viện mà các nhà phát triển cung cấp
1.2.2 Lịch sử phát triển
Năm 1974, phi n bản cơ sở dữ liệu quan hệ phi thương mại, h ng hỗ trợ SQ đầu ti n được phát triển
Năm 1978, hởi đầu thử nghiệm phương pháp tại m t cơ sở của hách hàng
Cu c thử nghiệm đã chứng minh được sự c ch và t nh thực ti n của hệ thống Chứng
tỏ sự thành c ng của I
Dựa vào ết quả đ , I bắt đầu phát triển các sản phẩm thương mại bổ sung
th m SQ dựa tr n nguy n mẫu Hệ thống R bao g m:
System/38 (Hệ thống/38) (được c ng bố năm 1978 và được thương mại h a tháng 8 năm 1979)
SQ /DS (được giới thiệu vào năm 1981)
Trang 15Database Engine: Đ y là m t engine c hả năng chứa dữ liệu ở các quy mô
dưới dạng support và table Ngoài ra, n còn c hả năng tự điều ch nh v dụ: trả lại tài nguy n cho ệ điều hành hi m t user log off và sử dụng th m các tài nguy n của máy
hi cần
Integration Services: là tập hợp các đối tượng lập trình và các c ng cụ đ h a
cho việc sao chép, di chuyển và chuyển đổi dữ liệu hi bạn làm việc trong m t c ng
ty lớn thì dữ liệu được lưu trữ ở nhiều nơi hác nhau như được chứa trong: Oracle,
SQ Server, D 2, icrosoft Access, và bạn chắc chắn s c nhu cầu di chuyển dữ liệu giữa các server này Ngoài ra, bạn còn muốn định dạng dữ liệu trước hi lưu vào database Chắc chắn Integration Services s giúp bạn giải quyết được c ng việc này d dàng
Analysis Services: Đ y là m t dịch vụ ph n t ch dữ liệu rất hay của icrosoft
Dữ liệu hi được lưu trữ vào trong database mà bạn h ng thể lấy được những th ng tin bổ ch thì coi như h ng c ngh a gì Ch nh vì thế, c ng cụ này ra đời giúp bạn trong việc ph n t ch dữ liệu m t cách hiệu quả và d dàng bằng cách dùng thuật khai thác dữ liệu – datamining và hái niệm hình hối nhiều chiều – multi dimendion cubes
Notification Services: Dịch vụ th ng báo này là nền tảng cho sự phát triển và
triển hai các ứng dụng soạn và gửi th ng báo Ngoài ra, dịch vụ này còn c chức năng gửi th ng báo theo dịch thời đến hàng ngàn người dăng sử dụng tr n nhiều loại thiết bị hác nhau
Reporting Services: là m t c ng cụ tạo, quản l và triển hai báo cáo bao g m:
server và client Ngoài ra, n còn là nền tảng cho việc phát triển và x y dựng các ứng dụng báo cáo
Full Text Search Service: là m t thành phần đặc biệt trong việc truy vấn và
đánh ch mục dữ liệu văn bản h ng cấu trúc được lưu trữ trong các cơ sở dữ liệu SQ Server
Service Broker: là m t m i trường lập trình cho việc tạo ra các ứng dụng trong
việc nhảy qua các Instance
1.3 PHP
1.3.1 Mô tả v PHP
PHP chủ yếu được dùng để phát triển các ứng dụng Web, mã ngu n mở ( CMS )
Có thể d dàng nhúng vào trang HT Do được tối ưu h a cho các ứng dụng web,
Trang 16tốc đ nhanh, nhỏ g n, cú pháp giống ngôn ngữ lập trình C và ngôn ngữ lập trình Java,
d h c và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác
n n PHP đã nhanh ch ng trở thành m t ngôn ngữ lập trình web phổ biến nhất thế giới
an đầu PHP được viết với mục đ ch tạo ra các website cá nhân nên PHP là chữ viết tắt của "Personal Home Page"
Tuy nhi n sau đ cùng với sự phát triển mạnh m của ngôn ngữ này thì PHP đã được dùng với nhiều mục đ ch hác nhau Tạo ra các trang web doanh nghiệp, hệ quản trị n i dung (C S), trang thương mại điện tử và thậm chí các trang mạng xã h i Lúc này c ng đ ng PHP nhận thấy cần có sự thay đổi tên g i của PHP để phản ánh đúng hơn mục đ ch sử dụng Dựa trên chức năng của PHP được dùng như m t chương trình để tạo ra trang HT đ ng nên cụm từ "Hypertext Preprocessor" được
sử dụng, do đ PHP được hình thành từ cách lấy chữ P (trong Preprocessor), H
(trong Hypertext) và P (trong Preproceessor), từ cụm từ "Hypertext Preprocessor" 1.3.2 Phiên bản c a PHP
1.3.2.1 PHP/FI
PHP được phát triển từ m t sản phẩm c t n là PHP/FI PHP/FI do Rasmus erdorf tạo ra năm 1994 PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter" PHP/FI 2.0 được ch nh thức c ng bố vào tháng 11 năm 1997
1.3.2.2 PHP 3
PHP 3 đã được Andi Gutmans và Zeev Suras i tạo ra năm 1997 sau hi viết lại hoàn toàn b mã ngu n trước đ ( PHP/FI 2.0 ) Andi, Rasmus và Zeev đã quyết định hợp tác và c ng bố PHP 3.0 như là phi n bản thế hệ ế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0 PHP 3.0 đã ch nh thức được c ng bố vào tháng 6 năm 1998
Ngày 29 tháng 6 năm 2003, PHP 5 eta 1 đã ch nh thức được c ng bố để c ng
đ ng iểm nghiệm Phi n bản eta 2 sau đ đã ra mắt vào tháng 10 năm 2003 Ngày
21 tháng 12 năm 2003: PHP 5 eta 3 đã được c ng bố Hiện tại PHP 5 là phi n bản c nhiều người dùng nhất t nh đến thời điểm hiện tại ( 2018 )
Trang 17PHP 7 hiện đang là phi n bản cao nhất của PHP t nh đến thời điểm hiện tại (
2018 ) PHP 7 là m t phi n bản mới của PHP được phát hành vào ngày 09 tháng 06 năm 2015 và đến thời điểm mình viết bài này thì n hiện đang ở phi n bản 7.1.21 ( phát hành ngày 13 tháng 9 năm 2018 ) PHP 7 là phi n bản mà được rất nhiều các lập trình vi n mong đợi, vì n c rất nhiều cải tiến cả về hiệu năng lẫn các thư viện Và ngay cả ch nh website này cũng được lập trình bởi PHP 7
1.4 HTML
1.4.1 HTML là gì?
HTML là chữ viết tắt của cụm từ HyperText Markup Language, c ngh a
là “ ữ h dấ s ă bả ” Cha đẻ của HTML là Tim Berners- ee, cũng
là người khai sinh ra World Wide Web và là chủ tịch của World Wide Web Consortium (W3C – tổ chức thiết lập ra các chuẩn tr n m i trường Internet)
HT dùng để mô tả cấu trúc, các thu c t nh li n quan đến cách hiển thị của
m t đoạn văn bản nào đấy ra trình duyệt
Các phần tử HTML là các khối xây dựng nên các trang web
Các phần tử HT được biểu di n bằng thẻ
Trình duyệt không hiển thị các thẻ HT , nhưng sử dụng chúng để hiển thị
n i dung của trang
1.4.2 B c bản c a HTML trên một trang web
Như đã n i, HT dùng để m tả cấu trúc của m t trang web t trang web bao g m rất nhiều thẻ HT và mỗi thẻ c m t nhiệm vụ nhất định
Th ng thường, bố cục m t trang web được chia làm 2 phần ch nh nằm trong cặp
thẻ <html> </html> :
Phần Head
Phần Body
Trang 18Hình 1.2 B cục cơ bản của HTML trên một trang web
<h1>My First Heading</h1>
<p>My first paragraph.</p>
Trang 19 <html> </html>: Là phần tử gốc, nằm ngoài cùng mỗi trang web, có nhiệm vụ
bao toàn b n i dung của trang web
<head> </head>: Phần mở đầu Có nhiệm vụ khai báo tất cả thông tin của
trang web
<title> </title>: Thẻ ti u đề: Dùng để hai báo ti u đề cho mỗi trang web Tiêu
đề này s hiển thị ở thanh tab trên cùng của trình duyệt
<body> </body>: Phần n i dung Chứa tất cả n i dung s hiển thị ra trên trình
Các thẻ trong HT thường theo cặp Ví dụ như <p> </p>
Đầu tiên là thẻ bắt đầu (opening tag) Thẻ tiếp theo là thẻ kết thúc (closing tag)
Thẻ kết thúc được viết giống như thẻ bắt đầu, ch khác thêm dấu gạch chéo ( / ) được chèn trước tên thẻ
1.4.4 Trình duy t Web
Có nhiều trình duyệt web hiện đang được sử dụng phổ biến tr n như Chrome,
IE, Firefox, Safari, ục đ ch của chúng là đ c các tài liệu HTML và hiển thị n i dung của chúng
Trình duyệt không hiển thị các thẻ HT nhưng sử dụng n để xác định cách hiển thị n i dung tài liệu
Hình 1.3 Hiển thị ra ngoài trình duyệt
Trang 201.4.5 Thẻ <!DOCTYPE>
Thẻ khai báo <!DOCTYPE> dùng để xác định định dạng của tài liệu Và giúp
các trình duyệt hiển thị các trang web m t cách chính xác
Thẻ <!DOCTYPE> ch xuất hiện m t lần, ở đầu trang trước bất kỳ thẻ HTML
nào
Nên <!DOCTYPE> hay <!doctype> đều giống nhau
hai báo cho định dạng html là: <!DOCTYPE html>
1.4.6 Công c code HTML
Hiện nay, c rất nhiều c ng cụ dùng để code HT như Notepad, Notepad ++, SublimeText, Net eans, Tuy nhi n trong loạt hướng dẫn này thì mình dùng Sublime Text 3 để code
1.5 CSS
1.5.1 CSS là gì?
CSS là chữ viết tắt của Cascading Style Sheets, nó là m t ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HT ) ạn có thể hiểu đơn giản rằng, nếu HT đ ng vai trò định dạng các phần tử tr n website như việc tạo ra các đoạn văn bản, các ti u đề, bảng, thì CSS s giúp chúng ta có thể thêm m t chút “phong cách” vào các phần tử HT đ như đổi
màu sắc trang, đổi màu chữ, thay đổi cấu trúc, rất nhiều
và thu c t nh phải được cách nhau bằng dấu hai chấm, và mỗi m t dòng hai báo
Trang 21thu c t nh s lu n c dấu chấm phẩy ở cuối t vùng ch n c thể sử dụng h ng giới hạn thu c t nh
1.6 PHƯƠNG THỨC THANH TOÁN PAYPAL
Hiện nay có nhiều công cụ thanh toán trực tuyến mang đến sự thuận tiện cho khách hàng khi thanh toán online Ở Việt Nam hầu hết các website thương mại điện tử chưa chấp nhận thanh toán online m t phần vì sơ sở hạ tầng cũng như th i quen của người tiêu dùng Hôm nay mình giới thiệu với các bạn m t phương thức thanh toán online phổ biến trên thế giới đ là thanh toán bằng Papal
Những l i ích khi thanh toán bằng Paypal
Đăng tài hỏan Paypal rất đơn giản
Sử dụng được các thể Visa, Visa Debit và nhiều loại thẻ hác ( để thanh toán được hi đăng thẻ bạn ch n chức năng thanh toán quốc tế và thanh toán được bằng USD nữa nhé) ạn cũng c thể li n hệ với ng n hàng để biết th m chi tiết
ạn được hòan tiền nếu xảy ra tranh chấp, thời gian hòan lại trong 45 ngày (v
dụ: người bán h ng giao hàng, h ng đúng cam ết
Trang 22CHƯƠNG : PH N T CH THIẾT Ế WEBSITE LÀ GÌ?
2.1 T NG UAN V Đ T I
2.1.1 Ph b ể bà
Hệ thống bán hàng qua mạng là m t hệ thống cung cấp cho người sử dụng, người quản l những chức năng cần thiết để mua bán, quản l những hoạt đ ng của cửa hàng Đối với hách hàng, hệ thống cho phép tìm iếm, xem th ng tin sản phẩm tr n website và mua các sản phẩm Sau hi ch n hàng xong thì chuyển qua thanh toán,
đ ng thời ch n địa điểm, người nhận và thời gian giao bánh Thực hiện xong hách hàng tiến hành xác nhận thanh toán và đợi nhận hàng từ b phận chuyển hàng và ết thúc giao dịch
- Giao diện d sử dụng , th n thiện
- Chương trình chạy ổn định ch nh xác và an toàn
- Tốn t tài nguy n hệ thống
- Hạn chế đến mức thấp nhất các sai s t c thể xảy ra trong quá trình sử dụng và
c hả năng n ng cấp và t ch hợp các t nh năng mới
Trang 23- CSD ết nối ch nh xác và toàn v n dữ liệu
(3) Người quản trị: à người điều hành hệ thống, thao tác với cơ sở dữ liệu của
hệ thống đ ng thời là người bảo trì hệ thống
1 Hệ thống hiển thị giao diện đăng cho người dùng
2 Người dùng nhập tên, tên đăng nhập và mật khẩu của mình
Trang 243 Hệ thống kiểm tra tài khoản - lu ng A1
4 Hệ thống ghi lại quá trình đăng
Các lu ng sự kiện con:
Lu ng A1: Kiểm tra tài khoản
1 Kiểm tra thông tin tài khoản
2 Th ng báo người dùng đăng thành công
Các lu ng sự kiện ngoại lệ:
Lu ng A1: Sai thông tin tài khoản
1 Hệ thống thông báo lỗi và hiển thị lại để người dùng nhập lại tài khoản
2 Quay lại bước 1 trong lu ng sự kiện con A1
c Tiền điều kiện: Không
d Hậu điều kiện: Khách hàng có tài khoản để đăng nhập hệ thống
2.2.3.2 ă t
a tả t m tắt
Tác nhân: Người quản trị, Nh n vi n, hách hàng
Mô tả: Nh n vi n và người quản trị là những người trực tiếp sử dụng hệ thống
hằng ngày cần đăng nhập vào hệ thống Căn cứ vào chức năng của từng người mà phân quyền truy cập hệ thống theo các nh m người sử dụng khác nhau Chẳng hạn,
nh n vi n được phép truy cập vào phần hệ thống liên quan đến các trường hợp thanh toán, hoàn tiền mà h ng được phép truy cập vào các chức năng của người quản trị như sửa user, đ ng hệ thống hách hàng đăng nhập vào hệ thống để thực hiện việc mua hàng
b Các lu ng sự iện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện đăng nhập cho người dùng
2 Người dùng nhập t n đăng nhập và mật khẩu của mình
3 Hệ thống kiểm tra tài khoản - lu ng A1
4 Hệ thống ghi lại quá trình đăng nhập
Các lu ng sự kiện con:
Lu ng A1: Kiểm tra tài khoản
1 Kiểm tra tài khoản/ mật khẩu
2 Th ng báo người dùng đăng nhập thành công
Các lu ng sự kiện ngoại lệ:
Lu ng A1: Sai thông tin tài khoản
Trang 251 Hệ thống thông báo lỗi và hiển thị lại để người dùng nhập lại tài khoản
2 Quay lại bước 1 trong lu ng sự kiện con A1
c Tiền điều iện: Khách hàng phải có tài khoản
d Hậu điều iện: hách hàng đăng nhập được vào hệ thống
1 Hệ thống hiển thị giao diện thông tin giỏ hàng cho người dùng
2 Người dùng có thể xem thông tin về giỏ hàng
3 Khách hàng có thể sửa thông tin giỏ hàng của mình
4 Hệ thống kiểm tra lại giỏ hàng - lu ng A1
5 Nếu có ch nh sửa, hệ thống ghi lại quá trình sửa giỏ hàng
Các lu ng sự kiện con:
Lu ng A1: Kiểm tra giỏ hàng
1 Kiểm tra thông tin giỏ hàng
2 Sửa thông tin giỏ hàng
3 Th ng báo người dùng ch nh sửa giỏ hàng thành công
c Tiền điều kiện: Khách hàng cần đăng nhập
d Hậu điều kiện: Khách hàng có thể ch nh sửa được giỏ hàng
2.2.3.4 Xem thông tin sản phẩm
1 Hệ thống hiển thị giao diện thông tin sản phẩm cho người dùng
2 Người dùng có thể xem thông tin về giỏ hàng
3 Khách hàng có thể mua sản phẩm
c Tiền điều kiện: Không
d Hậu điều kiện: Khách hàng có thể mua được sản phẩm
2.2.3.5 Xem thông tin cá nhân
a Mô tả tóm tắt
Trang 26Tác nhân: Khách hàng, người quản trị, nhân viên
Mô tả: Người dùng sử dụng hệ thống để xem thông tin cá nhân
b Các lu ng sự kiện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện thông tin cá nhân cho người dùng
2 Người dùng có thể xem thông tin cá nhân của mình
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể xem được thông tin cá nhân
2.2.3.6 Sửa thông tin cá nhân
a Mô tả tóm tắt
Tác nhân: Khách hàng, người quản trị, nhân viên
Mô tả: Người dùng sử dụng hệ thống để sửa thông tin cá nhân
b Các lu ng sự kiện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện thông tin cá nhân cho người dùng
2 Người dùng có thể sửa thông tin cá nhân của mình
3 Hệ thống kiểm tra lại thông tin cá nhân - lu ng A1
4 Nếu có ch nh sửa, hệ thống ghi lại quá trình sửa thông tin cá nhân
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể ch nh sửa được thông tin cá nhân
2.2.3.7 Tìm kiếm sản phẩm
a Mô tả tóm tắt
Tác nhân: Khách hàng, người quản trị, nhân viên
Mô tả: Người dùng sử dụng hệ thống để tìm kiếm sản phẩm
b Các lu ng sự kiện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện tìm kiếm cho người dùng
2 Người dùng có thể tìm kiếm sản phẩm
3 Hệ thống kiểm tra lại eyword người dung nhập vào - lu ng A1
4 Hệ thống ghi lại quá trình và hiển thị kết quả cho người dùng
c Tiền điều kiện: Khách hàng không cần đăng nhập, người quản trị và nhân
vi n thì đăng nhập
d Hậu điều kiện: Người dùng có thể tìm kiếm được sản phẩm cần tìm
2.2.3.8 t ả ẩ
a Mô tả tóm tắt
Trang 27Mô tả: Người dùng sử dụng hệ thống để cập nhật sản phẩm
b Các lu ng sự kiện
Các lu ng sự kiện chính:
5 Hệ thống hiển thị giao diện cập nhật sản phẩm cho người dùng
6 Người dùng có thể thêm, sửa, xóa sản phẩm
7 Hệ thống kiểm tra lại sản phẩm - lu ng A1
8 Hệ thống ghi lại quá trình cập nhật sản phẩm
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể cập nhật sản phẩm
2.2.3.9 Quả lí ơ
a Mô tả tóm tắt
Tác nhân: Người quản trị, nhân viên
Mô tả: Người dùng sử dụng hệ thống để xem, x a đơn hàng
b Các lu ng sự kiện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện đơn hàng cho người dùng
2 Người dùng có thể xem, xóa đơn hàng
3 Hệ thống ghi lại quá trình x a đơn hàng
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể xem, x a đơn hàng
1 Hệ thống hiển thị giao diện sản phẩm cho người dùng
2 Người dùng có thể thêm sản phẩm vào giỏ hàng
c Tiền điều kiện: Không
d Hậu điều kiện: Người dùng có thể cập nhật sản phẩm
Trang 281 Hệ thống hiển thị giao diện giỏ hàng cho người dùng
2 Khách hàng có thể xóa giỏ hàng
3 Hệ thống kiểm tra lại giỏ hàng - lu ng A1
4 Hệ thống ghi lại quá trình xóa giỏ hàng
c Tiền điều kiện: Người dùng cần đăng nhập và có sản phẩm trong giỏ hàng
d Hậu điều kiện: Người dùng có thể xóa giỏ hàng
3 Khách hàng nhập th ng tin để thực hiện thanh tóan
4 Hệ thống kiểm tra lại thông tin thanh toán - lu ng A1
5 Hệ thống ghi lại quá trình thanh toán của khách hàng
c Tiền điều kiện: Người dùng cần đăng nhập và mua giỏ hàng
d Hậu điều kiện: Người dùng có thể thanh toán
2.2.3.13 Quản trị h th ng
a Mô tả tóm tắt
Tác nhân: Người quản trị
Mô tả: Người dùng sử dụng hệ thống để quản trị hệ thống
b Các lu ng sự kiện
Các lu ng sự kiện chính:j
1 Hệ thống hiển thị giao diện cập quản trị hệ thống cho người quản trị
2 Người dùng có thể quản lý hệ thống
c Tiền điều kiện: Người quản trị cần đăng nhập
d Hậu điều kiện: Người quản tri có thể quản lý hệ thống
2.2.3.14 C p nh t ười dùng
a Mô tả tóm tắt
Tác nhân: Quản trị viên, nhân viên
Mô tả: Người dùng sử dụng hệ thống để cập nhật th ng tin người dùng
b Các lu ng sự kiện
Các lu ng sự kiện chính:
Trang 292 Người dùng có thể thêm, sửa, xóa người dùng
3 Hệ thống kiểm tra lại th ng tin người dùng - lu ng A1
4 Hệ thống ghi lại quá trình cập nhật người dùng
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể cập nhật th ng tin người dùng
2.2.3.15 Kiểm kê, báo cáo
a Mô tả tóm tắt
Tác nhân: Quản trị viên, nhân viên
Mô tả: Người dùng sử dụng hệ thống để kiểm kê báo cáo
b Các lu ng sự kiện
Các lu ng sự kiện chính:
1 Hệ thống hiển thị giao diện kiểm kê báo cho người dùng
2 Người dùng có thể kiểm kê, báo cáo thông tin doanh thu của cửa hàng
3 Hệ thống ghi lại quá trình kiểm kê báo cáo
c Tiền điều kiện: Người dùng cần đăng nhập
d Hậu điều kiện: Người dùng có thể kiểm kê, báo cáo
2.2.4 B ể ườ h sử d
Hình 2.1 Biểu đồ trường h p sử dụng của hệ th ng
San Pham
Ca Nhan Gio Hang
Dang Nhap He Thong
Xem Thong Tin
Them Vao Gio Hang
Cap Nhat San Pham
Quan Tri He Thong
Cap Nhat Nguoi Dung
<<include>>
Nguoi Quan Tri
Quan Li Don Dat Hang
Trang 30Hình 2.2 Biểu đồ trường h p cập nhật sản phẩm
Hình 2.3 Biểu đồ trường h p thanh toán
Cap Nhat San Pham
Trang 312.2.5 B ể h ộ
Hình 2.4 Biểu đồ hoạt động đăng nhập hệ th ng
Hình 2.5 Biểu đồ hoạt động đăng ký thành vi n