MỤC LỤC TRANG PHỤ BÌA LỜI CAM ĐOAN DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ LỜI CẢM ƠN MỞ ĐẦU 1 Chương 1: NỘI DUNG ĐỀ TÀI 2 1.1 Mục tiêu của đề tài: 2 1.2 Nội dung chính của đề tài: 2 1.3 Nêu bài toán 2 CHƯƠNG 2: PHÂN TÍCH HIỆN TRẠNG BÁN HÀNG THIẾT BỊ ĐIỆN TỬ QUA MẠNG 5 CHƯƠNG 3: VẤN ĐỀ KĨ THUẬT 6 3.1 Môi trường: 6 3.2 Khái niệm PHP 6 3.2.1 Tại sao nên dùng PHP 7 3.2.2. Hoạt động của PHP: 7 Sơ đồ hoạt động: 8 3.2.3. Các loại thẻ PHP 8 3.2.4. Các kiểu dữ liệu 9 3.2.5. Biến giá trị 9 3.2.6. Các giá trị bên ngoài phạm vi PHP 9 3.2.7. Hằng 10 3.2.8. Biểu thức 11 3.3: GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 11 3.3.1. Khái niệm 11 3.3.2. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL 12 3.3.3. Loại dữ liệu numeric 12 3.3.4. Loại dữ liệu kiểu Date and Time 13 3.3.5. Loại dữ liệu String 14 3.3.6. Các thao tác cập nhật dữ liệu 16 3.3.7. Các hàm thông dụng trong MySQL 16 3.3.8. Các hàm trong phát biểu GROUP BY 16 3.3.9. Các hàm xử lí chuỗi: 17 3.3.10. Các hàm xử lí về thời gian 17 3.3.11. Các hàm về toán học 18 3.3.12. Ưu điểm của MySQL 18 CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20 4.1 Khảo sát hiện trạng 20 4.2. Phân tích yêu cầu người dung 22 4.2.1 Yêu cầu của khách hàng 22 4.2.2. Yêu cầu của người quản trị. 23 4.2.3. Yêu cầu của nhân viên: 24 4.3. SƠ ĐỒ PHÂN RÃ CHỨC NĂNG 24 4.4. SƠ ĐỒ LUỒNG DỮ LIỆU MỨC TỔNG QUAN 25 4.5. SƠ ĐỒ LUỒNG DỮ LIỆU MỨC XỬ LÝ 26 4.6. SƠ ĐỒ LUỒNG DỮ LIỆU PHÂN RÃ CHI TIẾT 27 4.7. DANH SÁCH CÁC BẢNG DỮ LIỆU. 31 CHƯƠNG V: GIỚI THIỆU WEBSITE 35 5.1. Trang đăng nhập 35 5.2. Giao diện đăng ký tài khoản 35 5.3. Giao diện thông tin liên hệ 36 36 5.4. Giao diện phiếu quà tặng ( Voucher ) 36 5.5. Giao diện sản phẩm 37 5.6 Giao diện lấy lại mật khẩu 38 5.7 Giao diện đăng nhập người quản trị ( Admin ) 38 5.8 Giao diện bảng quản trị của admin 39 5.9 Giao diện danh mục sản phẩm trong phần quản lý của admin 39 5.10 Giao diện các modul 40 5.11 Giao diện theo dõi những địa chỉ IP của mọi người khi truy cập vào website 40 5.12 Giao diện đổi trả hàng của khách hàng. 41 KẾT LUẬN 42 TÀI LIỆU THAM KHẢO 43 PHỤ LỤC 44
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN ANH NGỌC
ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE BÁN HÀNG THIẾT BỊ ĐIỆN TỬ
Hà Nội, 2015
Trang 2TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN ANH NGỌC
ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE BÁN HÀNG THIẾT BỊ ĐIỆN TỬ
Chuyên Ngành: Công nghệ thông tin
Mã ngành:
NGƯỜI HƯỚNG DẪN: ThS PHÍ THỊ HẢI YẾN
Hà Nội, 2015
Trang 3MỤC LỤC
TRANG PHỤ BÌA
LỜI CAM ĐOAN
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
LỜI CẢM ƠN
MỞ ĐẦU 1
Chương 1: NỘI DUNG ĐỀ TÀI 2
1.1 Mục tiêu của đề tài: 2
1.2 Nội dung chính của đề tài: 2
1.3 Nêu bài toán 2
CHƯƠNG 2: PHÂN TÍCH HIỆN TRẠNG BÁN HÀNG THIẾT BỊ ĐIỆN TỬ QUA MẠNG 5
CHƯƠNG 3: VẤN ĐỀ KĨ THUẬT 6
3.1 Môi trường: 6
3.2 Khái niệm PHP 6
3.2.1 Tại sao nên dùng PHP 7
3.2.2 Hoạt động của PHP: 7
Sơ đồ hoạt động: 8
3.2.3 Các loại thẻ PHP 8
3.2.4 Các kiểu dữ liệu 9
3.2.5 Biến - giá trị 9
3.2.6 Các giá trị bên ngoài phạm vi PHP 9
3.2.7 Hằng 10
3.2.8 Biểu thức 11
3.3: GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 11
3.3.1 Khái niệm 11
3.3.2 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL 12
Trang 43.3.3 Loại dữ liệu numeric 12
3.3.4 Loại dữ liệu kiểu Date and Time 13
3.3.5 Loại dữ liệu String 14
3.3.6 Các thao tác cập nhật dữ liệu 16
3.3.7 Các hàm thông dụng trong MySQL 16
3.3.8 Các hàm trong phát biểu GROUP BY 16
3.3.9 Các hàm xử lí chuỗi: 17
3.3.10 Các hàm xử lí về thời gian 17
3.3.11 Các hàm về toán học 18
3.3.12 Ưu điểm của MySQL 18
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20
4.1 Khảo sát hiện trạng 20
4.2 Phân tích yêu cầu người dung 22
4.2.1 Yêu cầu của khách hàng 22
4.2.2 Yêu cầu của người quản trị 23
4.2.3 Yêu cầu của nhân viên: 24
4.3 SƠ ĐỒ PHÂN RÃ CHỨC NĂNG 24
4.4 SƠ ĐỒ LUỒNG DỮ LIỆU MỨC TỔNG QUAN 25
4.5 SƠ ĐỒ LUỒNG DỮ LIỆU MỨC XỬ LÝ 26
4.6 SƠ ĐỒ LUỒNG DỮ LIỆU PHÂN RÃ CHI TIẾT 27
4.7 DANH SÁCH CÁC BẢNG DỮ LIỆU 31
CHƯƠNG V: GIỚI THIỆU WEBSITE 35
5.1 Trang đăng nhập 35
5.2 Giao diện đăng ký tài khoản 35
5.3 Giao diện thông tin liên hệ 36
36
5.4 Giao diện phiếu quà tặng ( Voucher ) 36
5.5 Giao diện sản phẩm 37
5.6 Giao diện lấy lại mật khẩu 38
Trang 55.7 Giao diện đăng nhập người quản trị ( Admin ) 38
5.8 Giao diện bảng quản trị của admin 39
5.9 Giao diện danh mục sản phẩm trong phần quản lý của admin 39
5.10 Giao diện các modul 40
5.11 Giao diện theo dõi những địa chỉ IP của mọi người khi truy cập vào website 40 5.12 Giao diện đổi trả hàng của khách hàng 41
KẾT LUẬN 42
TÀI LIỆU THAM KHẢO 43
PHỤ LỤC 44
Trang 6DANH MỤC CÁC BẢNG
Bảng 4.1.: Thông tin về ADMIN: 31
Bảng 4.2.: Thành viên: 31
Bảng 4.3.: Sản phẩm: 31
Bảng 4.4.: Hóa đơn: 32
Bảng 4.5.: Menu: 32
Bảng 4.6.: Liên hệ: 32
Bảng 4.8.: Hỗ trợ trực tuyến: 33
Bảng 4.7.: Quảng cáo: 32
Bảng 4.9.: Slideshow: 33
Bảng 4.10.: Số người online: 33
Bảng 4.11.: Dữ liệu một tin: 33
Bảng 4.12.: Lượt truy cập: 33
Bảng 4.13.: Footer và Banner: 34
Bảng 4.14.: bienluan_phanthan_trangngoai: 34
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 4.1: Lược đồ tổng quát về hoạt động Khách hàng 21
Hình 4.2: Sơ đồ phân rả chức năng hệ thông quản lý 24
Hình 4.3: Sơ đồ luồng dữ liệu ở mức tổng quan 25
Hình 4.4: sơ đồ luồng dữ liệu ở mức xử lý 26
Hình 4.5.: Sơ đồ luồng dữ liệu chi tiết ĐẶT HÀNG 27
“ Kiểm tra ADMIN ” 28
Hình 4.6: Sơ đồ phân rả chức năng của Admin 28
Hình 4.7.: Sơ đồ phân rả chức năng của tìm kiếm sản phẩm 28
Hình 4.8.: Sơ đồ phân rả chức năng của kiểm tra đơn đặt hàng 29
“ Cập nhật ” 30
Hình 4.9.: Sơ đồ phân rã chức năng của cập nhật 30
Hình 5.1 Giao diện đăng nhập 35
Hình 5.2 Giao diện đăng ký tài khoản 35
Hình 5.3 Giao diện thông tin liên hệ 36
Hình 5.4 Giao diện phiếu quà tặng ( Voucher ) 36
Hình 5.5 Giao diện sản phẩm 37
Hình 5.6 Giao diện lấy lại mật khẩu 38
Hình 5.7 Giao diện đăng nhập người quản trị ( Admin ) 38
Hình 5.8 Giao diện bảng quản trị của admin 39
Hình 5.9 Giao diện danh mục sản phẩm trong phần quản lý của admin 39
Hình5.10 Giao diện các modul 40
Hình5.11 Giao diện theo dõi những địa chỉ IP của mọi người khi truy cập vào website 40
Hình5.12 Giao diện đổi trả hàng của khách hàng 41
Trang 8LỜI CẢM ƠN
Trong 4 năm học vừa qua, em xin chân thành cảm ơn các thầy cô trong khoaCông nghệ thông tin cũng như các thầy cô giảng dạy trong trường Đại học TàiNguyên Và Môi Trường Hà Nội đã truyền đạt những kiến thức quý báu cho emtrong những năm học vừa qua
Đặc biệt, em xin chân thành cảm ơn Cô Phí Thị Hải Yến, khoa Công nghệ thôngtin, trường Đại học Tài Nguyên Và Môi Trường Hà Nội đã tận tình hướng dẫn,động viên và giúp đỡ em trong suốt thời gian thực hiện đề tài
Mặc dù đã cố gắng hoàn thiện đề tài đồ án tốt nghiệp với tất cả sự nỗ lực củabản thân, nhưng chắc chắn em không thể tránh khỏi những thiếu sót Kính mongquý Thầy Cô tận tình chỉ bảo và sự đóng góp quý báu của tất cả mọi người
Cuối cùng, em xin chân thành cám ơn các thầy cô trong khoa Công nghệ thôntin, xin bày tỏ lòng cảm ơn sâu sắc đến Cô Phí Thị Hải Yến đã tận tình giúp đỡ emhoàn thiện đề tài này
Em xin chân thành cám ơn!
Hà Nội, ngày 20 tháng 5 năm 2015
Sinh viên thực hiện:
Nguyễn Anh Ngọc
Trang 9MỞ ĐẦU
Ngày nay việc kinh doanh chung của các công ty là làm sao có thể bán đượcnhiều mặt hàng, quan hệ với nhiều đối tác và có nhiều khách hàng biết đến và muasản phẩm của mình Trong những năm qua, bên cạnh sự phát triển của môi trườnggiao tiếp thông tin , nhu cầu sử dụng các thiết bị điện tử và internet đã tăng cao, tạonên một thị trường trên mạng sôi động không kém thực tế Lập trình và thiết kếWebsite có thể coi là một ngành “hot” mà hiện nay chúng ta đang rất quan tâm
Chính vì vậy em đã chọn đề tài “Xây dựng Website bán hàng thiết bị điện tử”
nhằm đáp ứng nhu cầu của khách hàng
“Xây dựng website bán hàng thiết bị điện tử” là xây dựng phần mềm ứng
dụng được kết nối trên đường dây internet phục vụ nhu cầu mua bán hàng hóa trựctuyến Người mua hàng chỉ cần tốn một ít thời gian để đăng kí trực tuyến các thôngtin của mình sau khi đã tìm hiểu đẩy đủ các thông tin cần thiết khi đặt hàng Kháchhàng chấp nhận mua hàng, hệ thống sẽ thống báo cho khách hàng biết đã mua thànhcông Và công ty sẽ giao hàng đến địa
Hệ thống mua bán hàng thiết bị điện tử là một Website cung cấp cho người sửdụng, nhà quản lý những chức năng cần thiết để tiến hành giao dịch, quản lý sự hoạtđộng cũng như theo dõi tình hình phát triển cửa hàng của mình Đối với kháchhàng, hệ thống cho phép xem thông tin về sản phẩm của cửa hàng Sau khi đăng kýlàm thành viên, khách hàng có thể chọn sản phẩm trên website đưa vào giỏ hàng vàtiến hành giao dịch mua bán Sau khi đã thực hiện xong, khách hàng nhấn xác nhận
để hoàn tất giao dịch
Đối với các nhân viên, là người sẽ tiếp nhận đơn hàng do người quản lýchuyển đến, thực hiện việc giao hàng và xác nhận việc giao hàng đã hoàn tất Vớingười tiêu dùng, họ có thể ngồi tại nhà để đặt hàng, mua sắm nhiều loại hàng hóa,dịch vụ thật nhanh chóng
Trang 10Chương 1: NỘI DUNG ĐỀ TÀI1.1 Mục tiêu của đề tài:
- Xây dựng một hệ thống hỗ trợ cho việc bán hàng trực tuyến trên Internet:
* Nhanh chóng, hiệu quả
* Đảm bảo chính xác, tiện lợi và dễ dàng sử dụng cho khách hàng
* Thuận tiện trong việc bán và mua hàng
1.2 Nội dung chính của đề tài:
- Xây dựng hệ thống đăng kí, đăng nhập cho khách hàng có nhu cầu mua hàng
- Xây dựng modul giỏ hàng cho khách hàng mua hàng
- Xây dựng modul tìm kiếm theo tên sản phẩm
- Quản lý thông tin cá nhân của thành viên và quản lý mặt hàng được phân quyền bởi Admin
1.3 Nêu bài toán
Modul Sản Phẩm
Nhằm mục đích giới thiệu về các ấn phẩm của Công ty, làm cho khách hàngthấy trước được sản phẩm họ sẽ dùng Các sản phẩm trong từng nhóm sẽ làm nổibật hình ảnh các sản phẩm cùng các thông tin số, tính năng của sản phẩm Do đókhách hàng sẽ dễ dàng hơn trong việc lựa chọn sản phẩm Nhân Viên quản lýthông tin sản phẩm chịu trách nhiệm về các vấn đề liên quan đến thông tin sảnphẩm Nhân viên QLTT sản phẩm giải quyết các công việc liên quan đến thôngtin sản phẩm và gửi báo cáo công việc về cho trưởng ban quản lý Website
Nhân viên QLTT sản phẩm hàng tuần báo cáo công việc chưa hoàn thành theothời gian, công việc đã hoàn thành…với trưởng ban quản lý Website
Modul Quảng Cáo
Trang 11Nhằm quảng cáo cho các hoạt động của công ty, bên phải trang chủ của công
ty sẽ cho phép các đại lý của công ty đặt banner của đối tác mà công ty là thànhviên (nếu việc đó là hợp pháp) khi clik huột vào banner sẽ liên kết đến các site củađại lý, đối tác (nếu có) Trong tương lai, khi quy mô hoạt động của công ty lớnmạnh, có thể thu hút từ hoạt động đặt banner quảng cáo
Modul Tìm Kiếm Thông Tin
Để tiện cho khách hàng tra cứu thông tin về sản phẩm, đại lý một cách nhanhnhất Các thông tin sẽ được tổ chức sao cho khách hàng tìm thấy thông tin cần thiếtnhanh nhất trong một thời gian ngắn nhất Khách hàng chỉ cần cập nhật vào một sốtìm kiếm một từ khoá và chọn tìm kiếm trong danh sách sản phẩm hoặc đại lý Việctìm kiếm sẽ tìm ra tất cả các thông tin chứa khoá tìm kiếm đã nhập vào Kết quả
sẽ được phân trang nếu số lượng thông tin tìm được nhiều hơn một số lượng đã quyđịnhBài toán QL tài sản
Modul Giỏ Hàng
Cung cấp cho khách hàng công cụ bán hàng trực tuyến Modul này được xâydựng chủ yếu dành cho các doanh nghiệp có hoạt động kinh doanh, trao đổi hànghóa
Modul Tin Mới
Giới thiệu các tin túc mới nhất trong hoạt động kinh doanh cũng như các thôngtin khác về công ty
thông tin này làm người xem (khách hàng) sẽ hiểu rõ hơn về đối tác mà họdang hoặc sắp hợp tác
Phần này sẽ được thiết kế như một bản tin gồm nhiều tin mới bao gồm:
o Tiêu đề của bài viết nêu lên chủ đề chính của bài viết
o Thông tin ngắn tóm tắt nội dung bài viết
o Một ảnh có kèm theo nội dung minh hoạ cho ảnh Khi kích chuột vào ảnh
Trang 12hoặc Tiêu đề của bài viết thì sẽ xem được nội dung chi tiết
Trong cửa sổ giới thiệu nội dung chi tiết, ảnh của thông tin sẽ được thu Nhỏ(thumnail) Khi lích chuột vào ảnh hoặc dòng giải thích cho thông tin sẽ mở ra mộtcửa sổ mới (popup)để hiển thị ảnh ở kích thước đầy đủ cùng nội dung thông tin
Modul Tư Vấn
Khi hàng hoá không còn là thứ khan hiếm trên thị trường thì vấn đề màngười tiêu dùng quan tâm nhiều nhất là các dịch vụ sau bán hàng, dịch vụ tư vấn vềcách sử dụng … hiện có nhiều phương thức để nhiều doanh nghiệp thực hiện việcchăm sóc khách hàng nhưng để tiếp cận và làm thoả mãn những yêu cầu của kháchhàng một cách nhanh nhất và hiệu quả nhất đó là tư vấn trực tuyến Modul tư vấn
sẽ tư vấn và giải đáp mọi yêu cầu thắc mắc của khách hàng về sản phẩm mà nhàcung cấp dăng tải trên website của mình Modul này dược tổ chức như một danhsách hỏi đáp theo chủ đề Khách hàng gửi câu hỏi theo một form yêu cầu Form này
sẽ thu thập thông tin người gửi và chuyển tới người quản trị website trên cơ sở
đó người quản trị sẽ giải đáp những thắc mắc và gỉ yêu cầu vè địa chỉ Email củangười hỏi Có thể thông tin được đăng tải, chia sẽ lên web cho mọi người cùngtham khảo Tránh trường hợp một câu hỏi được hỏi nhiều lần
Modul Phản Hồi
Phần này sẽ là một mẫu đăng ký trợ giúp khách hàng gửi các sản phẩm phảnhồi của mình về phía công ty như phản hồi những ý kiến đóng góp về chất lượngdịch vụ của công ty
Khi khách hàng gửi yêu cầu thì toàn bộ thông tin trên fỏm sẽ được gửi về địachỉ thư điện tử ủa công ty đồng thời được lưu vào CSDL để tiện cho việc kiểm tratheo dõi sau này
Trang 13CHƯƠNG 2: PHÂN TÍCH HIỆN TRẠNG BÁN HÀNG
THIẾT BỊ ĐIỆN TỬ QUA MẠNG
Xây dựng một Website bán các mặt hàng điện tử trực tuyến nhằm đáp ứng nhucầu của khách hàng Qua khảo sát thực tế em đưa ra đặc tả bài toán như sau:
Khách hàng muốn mua laptop thì vào trang web để tham khảo mặt hàng, giá
cả của tất cả các loại thiết bị điện tử đã được đưa lên trang web Khi khách hàng cầnmua loại nào đó thì kích vào biểu tượng thêm vào giỏ hàng của sản phẩm mìnhmuốn mua Bạn phải đăng nhập vào hệ thống thì mới có thể mua hàng và thanhtoán Nếu là khách hàng mới, khách hàng điền đầy đủ các thông tin của mình vào
trang thông tin khách hàng và đăng ký làm thành viên để mua hàng Nếu thông tin
hợp lệ thì hệ thống sẽ gửi thông báo là đã mua thành công cho khách hàng
- Mỗi khách hàng được quản lý bởi các thông tin sau: id, ký danh, mật khẩu, địa chỉ, Email, Số điện thoại
- Mỗi sản phẩm thuộc nhiều loại có mẫu mã, chất lượng, giá cả khác nhau
+Sản phẩm được quản lý các thông tin sau: ID, tên sảm phẩm, thông tin sản phẩm, hình ảnh, đơn giá bán.
- Thông tin mua hàng của khách hàng sẽ được lưu vào bảng Hóa đơn với các thông tin: Số hóa đơn, đơn hàng, họ tên, địa chỉ, email, điện thoại, nội dung, ký danh Sau khi giao hàng trực tiếp cho khách hàng đến tận nơi, khách hàng sẽ thanh
toán bằng tiền mặt cho công ty(phạm vi trong tỉnh)
- Trang web sẽ hiển thị những thông tin theo sự phân quyền sử dụng khác
nhau được quản lý bởi thông tin sau: Tên đăng nhập, mật khẩu.
+ Quyền của admin được xem, xóa, sửa tất cả các thông tin trên trang web
+ Quyền của những người là thành viên của trang web sẽ được xem,sửa thôngtin cá nhân của mình,có quyền góp ý kiến và mua hàng
Trang 14CHƯƠNG 3: VẤN ĐỀ KĨ THUẬT3.1 Môi trường:
- Ngôn ngữ web: PHP, JavaScript, HTML
- Công cụ lập trình: DreamWeaver, Wamp5
- Công cụ đồ họa: Photoshop
- Cơ sở dữ liệu: My SQL
3.2 Khái niệm PHP
- PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ranăm 1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sửdụng trong môi trường chuyên nghiệp và nó trở thành “PHP: HypertextPreprocessor”
- Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơngiản đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trongHTML
- PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là mộtcông nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform) Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máychủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tínhchất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điềuhành như Windows, Unix và nhiều biến thể của nó Đặc biệt các mã kịch bản PHPviết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cầnphải chỉnh sửa hoặc chỉnh sửa rất ít
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất
cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữHTML
Trang 15Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đósau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tớimột URL).
3.2.1 Tại sao nên dùng PHP
- Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn,mặc dù cấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quảgiống nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ: ASP, PHP, Java,Perl và một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơngiản, có những lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựachọn tuyệt vời này
- PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với cácgiải pháp khác
- PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu
có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn
- Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, vàchính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thứccải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này
- PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của cáclập trình viên chuyên nghiệp, mọi ý tuởng của các bạn PHP có thể đáp ứng mộtcách xuất sắc
3.2.2 Hoạt động của PHP:
- Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máychủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt
Trang 16
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP
và xử lí chúng theo các hướng dẫn được mã hóa Mã lệnh PHP yêu cầu máy chủ gửimột dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem nónhư là một trang HTML têu chuẩn Như ta đã nói, PHP cũng chính là một trangHTML nhưng có nhúng mã PHP và có phần mở rộng là HTML Phần mở của PHPđược đặt trong thẻ mở <?php và thẻ đóng ?> Khi trình duyệt truy cập vào một trangPHP, Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi cácđoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu củachúng trong file PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nộidung HTML về cho trình duyệt
3.2.3 Các loại thẻ PHP
- Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
- Kiểu Short: Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Ví dụ: <? Echo “Well come to PHP ” ;?>
- Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản đinh dạng
XML
Ví dụ: <? Php echo “Well come to PHP with XML”;>?
- Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự
khai báo JavaScipt hay VBScript:
Trang 17*PHP và HTML là các ngôn ngữ không “nhạy cảm “với khoảng trắng,
khoảng trắng có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn Chỉ có khoảng trắng đơn có ảnh hưởng đến sự thể hiện của trang Web (nhiều khoảng trắng liên tiếp sẽ chỉ thể hiện dưới dạng một khoảng trắng đơn)
3.2.4 Các kiểu dữ liệu
- Dữ liệu đến từ Script đều là biến PHP, bạn có thể nhận biết chúng bằng cách
sử dụng dấu $ trước tên biến
3.2.5 Biến - giá trị
- PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữcái hoặc dấu gạch dưới
3.2.6 Các giá trị bên ngoài phạm vi PHP
- HTML Form: Khi 1 giá trị gắn với 1 file php qua phương thức POST
Ví dụ:
<form action = “top php” method= “post”>
Name: < input type = “text” name = “name” ><BR>
<input type = “Submit”>
</form>
- PHP sẽ tạo 1 biến $ name bao gồm mọi giá trị trong trường Name của Form
- PHP có thể hiểu được một mảng một chiều gồm các giá trị trong một Form
Trang 18- Vì vậy, bạn có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụngđặc tính này để nhận các giá trị từ 1 đầu vào tuỳ chọn
- Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn <?php_track_vars?> Các giá trị được submit sẽ lấy ra qua phương thức GET và POST
có thể lấy ra từ 2 mảng toàn cục $HTTP_POST_VARS và $HTTP_GET_VARS
3.2.7 Hằng
- PHP định nghĩa sẳn các hằng số:
_FILE_: Tên của script file đang thực hiện
_LINE_: Số dòng của mã script đang được thực hiện trong script file hiện tại
_PHP_VERSION_: version của PHP đang chạy
TRUE
FALSE
E_ERROR: Báo hiệu có lỗi
E_PARSE: Báo lỗi sai khi biên dịch
E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không
Trang 20- MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu cóthể có nhiều bảng quan hệ chứa dữ liệu.
- MysSQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng cóthể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có mộttên truy cập (username) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập vàmật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng sẽkhông làm được gì cả
3.3.2 Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
3.3.3 Lo i d li u numeric ại dữ liệu numeric ữ liệu numeric ệu numeric
Kiểu dữ liệu số nguyên
Bigint -263->263-1 hay 0 264-1 8 Số nguyên lớn
Trang 21Kiểu dữ liệu số chấm động
Float Phụ thuộc số thập phân 4 Số thập phân
dạng Single hayDouble Float(M, D)
±1 7976931348623157308
±2 308
dạng Double
dưới dạng char
3.3.4 Loại dữ liệu kiểu Date and Time
- Kiểu dữ liệu Date and Time cho phép bạn nhập dữ liệu dưới dạng chuỗi ngàytháng hay dạng số
Dữ liệu kiểu số nguyên
Date 1000-01-01 Date trình bày dưới dạng
Date và Time trình bày dướidạng yyyy-mm-dd hh:mm:ss
TimeStamp[(M)] 1970-01-01
00:00:00
TimeStamp trình bày dướidạng yyyy-mm-dd hh:mm:ss
Trang 223.3.5 Loại dữ liệu String
- Kiểu dữ liệu String chia làm 3 loại: loại thứ nhất như char (chiều dài cố định) vàvarchar (chiều dài biến thiên); loại thứ hai là Text hay Blob, Text cho phép lưuchuỗi rất lớn, Blob cho phép lưu đối tượng nhị phân; loại thứ ba là Enum và Set
Trang 23Kiểu dữ liệu String
Chiều dài của chuỗi lớn nhất 255 ký tự
Tinyblob 28-1 Khai báo cho Field chứa kiểu đối tượng nhị phân cỡ
255 charactersTinytext 28-1 Khai báo cho Field chứa kiểu chuỗi cỡ 255
967, 295 characters
Longtext 232-1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản lớn
khoảng 4, 294, 967, 295 characters
Trang 243.3.6 Các thao tác cập nhật dữ liệu
SELECT (Truy vấn mẫu tin):Select dùng để truy vấn từ mộthay nhiều bảng khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều kiệncho trước nếu có, cú pháp của phát biểu SQL dạng SELECT như sau:
SELECT<danh sách các cột>
[FROM<danh sách bảng>]
[WHERE<các điều kiện ràng buộc>]
[GROUP BY<tên cột/biểu thức trong SELECT>]
[HAVING<điều kiện bắt buộc của GROUP BY>]
[ORDER BY<danh sách các cột>]
[LIMIT FromNumber |ToNumber]
Cú pháp: INSERT INTO Tên_bảng VALUES(Bộ_giá_trị)
Cú pháp: UPDATE TABLE Tên_bảng
SET Tên_cột=Biểu_thức,
[WHERE Điều_kiện]
Cú pháp: DELETE FROM Tên_bảng
[WHERE Điều_kiện]
3.3.7 Các hàm thông dụng trong MySQL
3.3.8 Các hàm trong phát biểu GROUP BY
Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trongcâu truy vấn
Trang 25 Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truyvấn
Hàm MAX: Hàm trả về giá trị lớn nhất của cột hay trường trong câu truyvấn
Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn
Hàm Sum: Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn 3.3.9 Các hàm xử lí chuỗi:
Hàm ASCII: Hàm trả về giá trị mã ASCII của kí tự bên trái của chuỗi
Hàm Char: Hàm này chuyển đổi kkiểu mã ASCII từ số nguyên sang dạngchuỗi
Hàm UPPER: Hàm này chuyển đổi chuỗi sang kiểu chữ hoa
Hàm LOWER: Hàm này chuyển đổi chuỗi sang kiểu chữ thường
Hàm Len: Hàm này trả về chiều dài của chuỗi
Thủ tục LTRIM: Thủ tục loại bỏ khỏang trắng bên trái của chuỗi
Thủ tục RTRIM: Thủ tục loại bỏ khỏang trắng bên phải của chuỗi
Hàm Left(str, n): Hàm trả về chuỗi bên trái tính từ đầu cho đến vị trí n
Hàm Right(str, n): Hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n
Hàm Instrt: Hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét
3.3.10 Các hàm xử lí về thời gian
Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống
Hàm CurTime(): Hàm trả về giờ, phút và giây hiện hành của hệ thống
Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa 2 ngày
Hàm dayofmonth: Hàm trả về ngày thứ mấy trong tháng
Trang 263.3.11 Các hàm về toán học
Hàm sqrt: Hàm trả về là căn bậc hai của một biểu thức
Hàm CurDate(): Hàm trả về ngày, tháng và năm hiện hành của hệ thống
3.3.12 Ưu điểm của MySQL
- Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệunhanh nhất mà bạn có thể có
- Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệurất đơn giản và ít phức tạp khi cài đặt và quản trị các hệ thống lớn
- Giá thành: MysSQL miễn phí cho hầu hết các việc sử dụng trong một tổ chức
- Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cảcác hệ thống cơ sở dữ liệu hiện đại Bạn có thể truy cập MySQL bằng cách sử dụng các ứngdụng mà hỗ trợ ODC (Open Database Connectivity – một giao thức giao tiếp cơ sở dữ liệuđược phát triển bởi Microsoft)
- Năng lực: Nhiều Client có thể truy cập đến server trong cùng một thời gian Các Client
có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn có thể truy cập MySQL tương tácvới sử dụng một vài giao diện để bạn có thể đưa vào truy vấn và xem kết quả: các dòng yêucầu của khách hàng, các trình duyệt Web,…
- Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thểđược truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẻ dữ liệu của bạn với bất kỳ
ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nênnhìn thấy dữ liệu của bạn thì không thể nhìn được
- Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIXchẳng hạn như Windows MySQL chạy với mọi phần cứng từ các máy PC ở nhà cho đến cácmáy Server
Trang 27- Sự phân phối rộng: MySQL dễ dàng đạt được, chỉ cần sử dụng trình duyệt Web củabạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán, bạn có thể lấy
mã nguồn và tìm tòi nó Nếu bạn không thích một vài cái, bạn có thể thay đổi nó
- Sự hỗ trợ: bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng đồngMySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút.Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài giờ hoặc vàingày, và cách khắc phục sẽ ngay lập tức có trên Internet
Trang 28CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG4.1 Khảo sát hiện trạng
Sau khi nắm bắt những thông tin từ công ty hướng dẫn về cách thiết kế mộttrang web bán laptop và có những khái quát sau:
Khách hàng : Mỗi khách hàng được quản lý các thông tin sau đây: ký danh,địa chỉ, điện thoại, email, Nơi liên hệ,Nội dung
Sản phẩm: Mỗi sản phẩm được quản lý những thông tin: Tên sản phẩm, đơngiá , hình ảnh, mô tả,thông tin chi tiết về sản phẩm cụ thể
Quá trình khách hàng: Khách hàng xem và lựa chọn sản phẩm cần
mua,cần tham khảo về sản phẩm của Cty Trong quá trình lựa chọn xem thông tin
và truy cập giá cả của sản phẩm , bộ phận bán hàng sẽ trực tiếp trao đổi thông tincùng khách hàng, chịu trách nhiệm hướng dẫn Sau khi lựa chọn xong, bộ phận bánhàng sẽ tiến hành lập đơn đặt hàng của khách Sau khi tiếp nhận yêu cầu trên, bộphận này sẽ làm hóa đơn và thanh toán tiền
Trong trường hợp nhiều công ty, trường học, các doanh nghiệp, có yêu cầuđặt hàng, mua với số lượng lớn thì cửa hàng nhanh chóng làm phiếu đặt hàng, phiếuthu có ghi thuế cho từng loại sản phẩm và giao hàng theo yêu cầu
Khách hàng: là những người có nhu cầu mua sắm và có thể tham khảo giá cả
của sản phẩm,xem thông tin và quảng bá sản phẩm của mình trên mạng Khác vớiviệc đặt hàng trực tiếp tại công ty, khách hàng phải hoàn toàn tự thao tác thông quatừng bước cụ thể để có thể mua được hàng Trên mạng, các sản phẩm được sắp xếp
và phân theo từng loại sản phẩm giúp cho khách hàng dễ dàng tìm kiếm Trong hoạtđộng này, khách hàng chỉ cần chọn một sản phẩm nào đó từ danh mục các sản phẩmthì những thông tin về sản phẩm đó sẽ hiển thị lên màn hình như: hình ảnh, đơngiá, mô tả một cách chi tiết, và bên cạnh là trang liên kết để đặt hàng khi khách đãchọn số lượng Đây là cách đặt hàng trực tuyến mà trong đó chứa các thông tin vềsản phẩm lẫn số lượng khách muốn mua và đặt hàng
Trang 29Khi khách hàng muốn đặt hàng thì hệ thống hiển thị trang xác lập đơn đặthàng cùng thông tin về khách hàng và sản phẩm Cuối cùng là do khách hàng tùychọn đặt hay không.
Khách hàng có thể tham khảo được giá cả về sản phẩm và xem tin tức ,dịch vụ
từ website của công ty
Và dưới đây là mô hình sơ lược về hoạt động của khách hàng trong hệ thốngtrang web
Hình 4.1: Lược đồ tổng quát về hoạt động Khách hàng
Nhà quản lý: Là người làm chủ hệ thống, có quyền kiểm soát mọi hoạt động
của hệ thống Nhà quản lý được cấp một username và password để đăng nhập vào
hệ thống thực hiện những chức năng của mình
Nếu như quá trình đăng nhập thàng công thì nhà quản lý có thể thực hiệnnhững công việc:Quản lý User,phân chức năng cho User quản lý cập nhật thông tincác sản phẩm, tiếp nhận đơn đặt hàng, kiểm tra đơn đặt hàng và xử lý đơn đặthàng.Quản lý Cập nhật các trang giới thiệu,dịch vụ của công ty,thông tin liên hệ củakhách hàng đến công ty
Trang 30Tài nguyên đã và sẽ sử dụng: Ta sẽ xây dựng website sử dụng ngôn ngữ
PHP chạy trên môi trường Localhost với Xampp; Sử dụng 1 số công cụ thiết kế nhưNotepad++, Photoshop,…
4.2 Phân tích yêu cầu người dung
4.2.1 Yêu cầu của khách hàng
Giao diện dễ sử dụng và có tính thẩm mĩ cao
Cho chép khách hàng đăng ký thành viên và bảo mật thông tin
Xem và thay đổi các thông tin về tài khoản
Hình thức thanh toán phải đảm bảo chính xác
Việc chuyển tiền cũng phải đảm bảo chính xác: Khi chuyển tiền thì việccộng và trừ tiền trong 2 tài khoản phải diễn ra đồng thời từ 2 tài khoản, tài khoảnchuyển và tài khoản nhận
Thông tin sản phẩm phong phú đa dạng:
Giới thiệu, bày bán nhiều loại hàng, nhiều mặt hàng để khách hàng có nhiều
cơ hội lựa chọn về một loại mặt hàng Thông tin về một sản phẩm phải chi tiết đểkhách hàng có thể nắm bắt rõ thông tin về sản phẩm mình lựa chọn Đặc biệt lànhững mặt hàng được nhiều khách hàng quan tâm
Luôn cập nhật, giới thiệu những sản phẩm công nghệ mới nhất
Thông tin về bảo hành sản phẩm phải rõ ràng
Cho phép khách hàng tìm kiếm nhanh chóng Chính xác theo nhiều tiêu chí/
Cho phép thống kê các đơn đặt hàng đã đặt của mình tại công ty
4.2.2 Yêu cầu của người quản trị.
Ngoài các yêu cầu giống như của khách hàng Thì hệ thống phải đảm bảonhững yêu cầu sau của ban quản trị
Trang 31Quản lí chung: liên quan tới các thông tin nhân viên Khách hàng, hàng,
Cập nhật thông tin hàng hóa trực tuyến
Dễ dàng cập nhật và thường xuyên thay đổi hình ảnh, thông tin chi tiết giácác mặt hàng bạn sẽ kinh doanh ở bất cứ đâu
Quản lĩ các đơn hàng trực tuyến
Quản lí, lưu trữ và báo cáo thông tin về đặt hàng và trạng thái của đơn hàng:
đã giao hàng chưa, đã thanh toán chưa,…
Quản lí khách hàng
o Lưu trữ các hoạt động gắn với các khách hàng của cửa hàng Mọi hoạtđộng gắn với khách hàng và đơn hàng đều có thể thực hiện từ xa, không phụ thuộcvào vị trí địa lý
Thống kê chi tiết cụ thể, chính xác và nhanh chóng
o Thống kê được mặt hàng nào bán hết, mặt hàng nào bán chạy, mặt hàngnào tồn kho, mặt hàng nào cần chỉnh sửa,…
o Tổng hợp thu chi hàng ngày, hàng tuần, hàng tháng, hàng quý và hàngnăm
o Tổng hợp lưu trữ được ý kiến phản ánh của khách hàng để có thể trả lờikhách hàng một cách nhanh chóng và chính xác nhất
Cho phép in các danh sách, các thông tin cần thiết
Trang 324.2.3 Yêu cầu của nhân viên:
Sản phẩm: có thể thêm, sửa, xóa thông tin danh mục
Quản lý các module: định vị, chỉnh sửa, bật – tắt các module chức năng
Xem các báo cáo, thống kế, đơn đặt hàng
Nhận và phản hồi các yêu cầu của khách hàng
Quản lý các thông tin khác: khuyến mại, tin tức…
4.3 SƠ ĐỒ PHÂN RÃ CHỨC NĂNG
Hình 4.2: Sơ đồ phân rả chức năng hệ thông quản lý
TK khách hàng
TK sản phẩm
TK doanh thu
TK ĐĐH
HỆ THỐNG QUẢN
LÝ
Đặt hàng Lập HĐ Cập nhật Thống kê Nhập hàng
TK theo tên SP
TK theo LSP
Tìm kiếm SP Xử lý
SP
KT đặt hàng
Ghi nhận KH
CN khách hàng CN sản
phẩm
CN cácTT &
DVụ
CN đơn đặt hàng