1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP /CHUYÊN NGÀNH
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG
ONLINE BẰNG PHP
Giáo viên hướng dẫn: Phạm Thị Thu Thúy
Sinh viên thực hiện: Nguyễn Quân Vũ
Lớp:
MSSV:
CTH53
53161544
Nơi thực tập: Trường Đại Học Nha Trang
2
Năm học: 2015
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP /CHUYÊN NGÀNH
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG
ONLINE BẰNG PHP
Giáo viên hướng dẫn: Phạm Thị Thu Thúy
Sinh viên thực hiện: Nguyễn Quân Vũ
Lớp:
MSSV:
CTH53
53161544
Nơi thực tập: Trường Đại Học Nha Trang
Năm học: 2015
3
NHẬN XÉT KẾT QUẢ THỰC TẬP
Họ và tên sinh viên: .Nguyễn Quân Vũ
Mã số sinh viên: 53161544 Lớp: CTH53 Hệ: Cao Đẳng
Khoa Công nghệ Thông tin, Trường Đại học Nha Trang.
Nội dung thực tập: .......................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
Đánh giá kết quả thực tập: ...........................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
………………… ngày …. tháng … năm ……
Giáo viên hướng dẫn
4
LỜI MỞ ĐẦU
Hiện nay công nghệ thông tin ngày càng phát triển và lớn mạnh cho nên việc ứng
dụng tin học vào các lĩnh vực của cuộc sống ngày càng được quan tâm và sử dụng hiệu
quả, đem lại lợi ích to lớn về mọi mặt. Sự lớn mạnh của mạng máy tính đã xóa bỏ mọi
ranh giới về không gian và thời gian để đem con người và tri thức xích lại gần nhau hơn.
Thông qua mạng máy tính, con người có thể được tiếp xúc với mọi loại tri thức , văn hóa,
xã hội, khoa học kĩ thuật…Do vậy, ngày càng có nhiều ứng dụng được viết để hỗ trợ
công việc thủ công của con người, đặt biệt là các ứng dụng quản lý như quản lý nhân sự,
bán hàng…. Do đó, đề tài “ Xây dựng website bán hàng thời trang Online bằng PHP” sẽ
giúp quản lý một website bán hàng trực tuyến trên mạng internet cụ thể hơn bằng ngôn
ngữ PHP, dựa trên cơ sở dự liệu là MySQL. Trong quá trình phân tích và cài đặt ứng
dụng không thể không tránh khỏi thiếu sót, rất mong sự giúp đỡ tận tình của thầy cô trong
bộ môn
Qua đề tài: Xây Dựng Website bán hàng online bằng PHP này em hy vọng có thể
biết thêm kiến thức về lập trình web, nắm vững kiến thức các môn đã học, nâng cao kĩ
năng lập trình và biết cách xây dựng một sản phẩm phần mềm
5
MỤC LỤC
Nhận xét kết quả thực tập
Lời mở đầu:
CHƯƠNG 1. TỔNG QUAN ...................................................................................1
1.1 ĐẶT VẤN ĐỀ .......................................................................................................1
1.1.1 MỤC TIÊU ...................................................................................................2
1.1.2 PHẠM VI ĐỀ TÀI.......................................................................................8
1.2 KẾ HOẠCH THỰC HIỆN ............................................................................. 10
1.3 PHƯƠNG PHÁP THỰC HIỆN .................................................................... 15
1.3.1 Phân tích hệ thống
1.3.2 Thiết kế website
1.3.3 Cài đặt và kiểm thử
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .................................................................. 30
2.1 NGÔN NGỮ LẬP TRÌNH PHP .................................................................... 41
2.1.1 SƠ LƯỢC VỀ PHP .................................................................................. 42
2.1.2 KIỂU DỮ LIỆU TRONG PHP .............................................................. 45
2.1.3 XÂY DỰNG CHƯƠNG TRÌNH KẾT NỐI TỚI CSDL MYSQL .... 48
2.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL ............................................... 57
2.2.1 SƠ LƯỢC VỀ MYSQL ........................................................................... 52
2.2.2 CÁC CÂU LỆNH CĂN BẢN TRONG MYSQL ................................ 55
CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ........................ 60
3.1 MÔ TẢ HỆ THỐNG ..................................................................................... 120
3.2 XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH ...................................... 133
6
CHƯƠNG 4. KẾT LUẬN................................................................................... 130
4.1 KẾT QUẢ ĐẠT ĐƯỢC ................................................................................ 135
4.2 HẠN CHẾ VÀ KHÓ KHĂN ........................................................................ 140
7
CHƯƠNG 1: TỔNG QUAN
1. ĐẶT VẤN ĐỀ:
Việc kinh doanh - mua bán là nhu cầu không thể thiểu đối với mỗi chúng
ta. Trong thời đại cạnh tranh hiện nay việc giới thiệu sản phẩm kinh doanh đến
từng cá nhân với chi phí thấp, hiệu quả cao là một vấn đề nan giải của doanh
nghiệp cùng với nhu cầu mua sắm với những sản phẩm đa chủng loại, đạt chất
lượng, và hợp túi tiền của người tiêu dùng.
Ăn mặc luôn đi đôi với nhau nên ngày càng xuất hiện nhiều nơi buôn bán
quần áo, thời trang cũng như nhiều mặc hàng khác để phục vụ nhu cầu ăn ngon
mặc đẹp của con người.
Muốn mua hàng thì phải ra chợ hay đến các tiệm quần áo. Đôi khi việc di
chuyển cũng gặp nhiều khó khăn vi mất nhiều thời gian… Từ điều đó em tiến
hành thiết kế trang web Shop BinGo chuyên cung cấp các sản phẩm quần áo
bằng cách mua bán trực tuyến trên mạng giúp người mua tiết kiệm nhiều thời
gian hơn cũng như dễ dàng quản lí của hàng hơn
1.1 Mục tiêu:
Thiết kế website bán hàng online nhằm giải quyết những khó khăn hiện tại của
cửa hàng.
Website được xây dựng phải đáp ứng những nhu cầu cần thiết của cửa hàng:
Quản lý sản phẩm.
Cập nhật giá, thông tin sản phẩm.
Quản lý người dùng.
Xuất bảng báo giá (Nếu cần).
Có chức năng giỏ hàng.
Quản lý đơn đặt hàng của khách hàng.
1.2 Phạm vi đề tài:
8
1) Về đối tượng sử dụng:
Người sử dụng của website được chia làm 2 nhóm đối tượng:
Admin.
Người sử dụng thường (Khách hàng).
2) Đối tượng được quản lý trong website
Website của cửa hàng quản lý những đối tượng sau:
Người dùng.
Nhà sản xuất.
Nhóm sản phẩm.
Chi tiết sản phẩm.
Đơn đặt hàng
Hóa đơn
3) Về chức năng của website.
Website của cửa hàng phải đảm bảo những chức năng sau:
a) Admin
Quản lý người dùng
Xóa người dùng khỏi hệ thống
Cấp quyền Admin cho người dùng.
Quản lý nhà sản xuất
Thêm mới danh mục nhà sản xuất
Cập nhật thông tin nhà sản xuất
Xóa nhà sản xuất ra khỏi hệ thống.
Quản lý nhóm sản phẩm
Thêm mới nhóm sản phẩm
Quản lý sản phẩm của nhóm
9
Quản lý sản phẩm
Nhập sản phẩm mới.
Cập nhật thông tin, giá của sản phẩm.
Xóa sản phẩm ra khỏi hệ thống
Quản lý đơn đặt hàng
Xem đơn đặt hàng của khách hàng
Xóa đơn đặt hàng khỏi hệ thống
Cấu hình website
Quản lý danh sách hỗ trợ trực tuyến.
b) Khách hàng
Xem sản phẩm
Cho sản phẩm vào giỏ hàng
Đăng kí
Đặt hàng
2. KẾ HOẠCH THỰC HIỆN:
+ Tìm hiểu những chức năng, vấn đề cần giải quyết tại Shop.
+ Chọn ngôn ngữ và hệ quản trị thích hợp để viết website.
3. PHƯƠNG PHÁP THỰC HIỆN:
3.1 Phân tích hệ thống:
Dựa vào những khó khăn hiện tại của cửa hàng đồng thời phát triển thêm
các chức năng nâng cao khác nhằm nâng cao tính tiện lợi của website.
3.2 Thiết kế website:
Thiết kế website theo cấu trúc và cách phối màu hợp với website bán hàng
online
10
Tối ưu hóa thẻ meta nhằm tăng khả năng SEO (Search Engine
Optimization) cho website.
Chức năng của website được chia thành các module khác nhau nhằm dễ
quản lý.
Website được cài đặt bằng ngôn ngữ php và hệ quản trị cơ sở dữ liệu
Mysql.
3.3 Cài đặt và kiểm thử:
Cài đặt lên server và kiểm tra chéo theo module của từng người.
11
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2. NGÔN NGỮ LẬP TRÌNH PHP
2.1 Sơ lược về PHP:
PHP(Hypertext Preprocessor) là ngôn ngữ kịch bản hay một loại mã lệnh
chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn
mở, dùng cho mục đích tổng quát. Nó rất thích hợp cho web và dễ dàng
nhúng vào trang HTML. Cũng là một ngôn ngữ script trên server nên nó
cho phép dễ dàng xây dựng các trang web động mà tương tác được với
mọi cơ sở dữ liệu như Informix, MySQL, Oracle,Sybase, SQL server…
Ngoài ra các file PHP trả về kết quả cho trình duyệt là một trang thuần
HTML, và các file PHP có thể chứa văn bản text, các thẻ HTML và các
đoạn mã kịch bản scripts.
Phần lớn các file PHP có phẩn mở rộng là: .php,.php3, .phpml và lưu ý
rằng từ phiên bản 4.0 trở về sau mới hỗ trợ session.
Do được tối ưu hóa các ứng dụng web ,tốc độ nhanh, nhỏ gọn, cú pháp
giống C và Java, dễ đọ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 ngôn
ngữ lập trình phổ biến.
Apache web server?
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho
máy chủ đối thoại qua giao thức HTTP, Apache chạy trên các hệ điều hành
như Unix, windows, Novell Netware và các hệ điều hành khác. Apache
đóng vai trò quan trọng trong quá trình phát triển của mạng web thế giới.
2.2 Kiểu dữ liệu trong PHP:
PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string. Ngoài ra còn một
số kiểu dữ liệu khác, được xây dựng dựa trên các kiểu dữ liệu cơ bản trên,
như mảng, object, mà chúng ta sẽ đề cập đến sau. Tất cả các biến đều được
chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có
thể bị thay đổi trong quá trình sử dụng.
12
Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ. Đây là kiểu giá trị nguyên
(không phải là số thực) và có giá trị nằm trong khoảng từ -2 tỷ đến 2 tỷ.
Kiểu dữ liệu double là kiểu dữ liệu số thực, cho phép chứa các số thực.
Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản, ký
tự đặc biệt và các chữ số. Dữ liệu kiểu string được đặt trong cặp dấu ngoặc
kép ("") chỉ định một xâu (hay còn gọi là chuỗi ký tự).
2.3 Xây dựng chương trình kết nối tới CSDL trong MYSQL:
Thông thường, trong một ứng dụng có giao tiếp với CSDL, ta phải làm
theo bốn trình tự sau:
Bước 1: Thiết lập kết nối tới CSDL.
Bước 2: Lựa chọn CSDL.
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có.
Bước 4: Đóng kết nối tới CSDL.
Thiết lập kết nối tới MySQL.
Đế kết nối tới cơ sở dữ liệu ta dùng hàm mysql_connect() cú pháp như
sau: mysql_connect (host, user_name, password);
Trong đó :
Host: tên host hoặc ip của host
User_name: tên truy cập để truy cập tới mysql
PHP kết hợp với các ngôn ngữ khác:
Javascript
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản
dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ
này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo
khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng.
13
Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông
Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript,
và cuối cùng thành JavaScript. Js là phần mở rộng thường được dùng
cho tập tin mã nguồn JavaScript.
Jquery
JQuery chính là một thư viện kiểu mới của Javascript giúp đơn giản hóa
cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web
JQuery thêm tương tác Ajax vào trong website. JQuery được thiết kế để
thay đổi cách viết Javascript của lập trình viên. Chỉ với 10 dòng lệnh
JQuery bạn có thể thay thế cả 20 chục dòng lệnh DOM JavaScript bới
thế mà nó được mang cái slogan là “The Write Less, Do More…”
2.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
2.1 Sơ lược về MySQL:
My SQL là gì?
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí
nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)
Tại sao lại sử dụng MySQL?
MySQL là phần mềm miễn phí hoàn toàn, ổn định, an toàn.
Một số đặc điểm của MySQL:
MySQL là một phần mềm quản trị CSDL dạng server-based
(gần tương đương với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có
thể có nhiều bảng quan hệ chứa dữ liệu.
MySQL 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 CSDL khác nhau,
mỗi người dùng có một tên truy cập (user name) và mật khẩu tương
ứng để truy xuất đến CSDL.
14
Khi ta truy vấn tới CSDL 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 CSDL đó. Nếu
không, chúng ta sẽ không làm được gì cả.
2.2 Các câu lệnh cơ bản trong MySQL:
* SELECT:
Phát biểu SQL dạng SELECT là 1 trong những phát biểu yêu cầu
MySQL truy vấn dữ liệu trên cơ sở dữ liệu chỉ định.SELECT dùng để
đọc thông tin từ cơ sở dữ liệu theo trường trường hợp quy định hay
những biểu thức cho trường hợp đó.
Mệnh đề FROM chỉ ra tên 1 bảng hay những bảng có quan hệ cần truy
vấn thông tin
Mệnh đề WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩn
được định nghĩa .Thông thường WHERE dùng cột (trường) để so sánh
với giá trị cột khác,hay biểu thức chứa cột (trường) bất kỳ có trong bảng
(table)
Phát biểu SQL có dạng:
* UPDATE:
Phát biểu SQL dạng UPDATE dùng cập nhật lại dữ liệu đã tồn tại trong
bảng.Khi UPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào
đó thường lệnh này sử dụng chung với mệnh đề WHERE
15
Nếu cập nhật tất cả các mẩu tin trong bảng bạn có thể bỏ mệnh đề
WHERE. Cấu trúc như sau:
Nếu cập nhật giá trị là kết quả trả về từ phát biểu SELECT trên 1 hay
nhiều bảng khác.Cấu trúc như sau:
* INSERT:
Khi cần thêm mẩu tin vào bảng (table) trong CSDL MySQL ,bạn có
nhiều cách để thực hiện công việc này, nhưng để sử dụng các phát biểu
SQL mang tính chuyên nghiệp bạn cần sử dụng phát biểu INSERT.
Khi thêm dữ liệu, cần chú ý kiểu dữ liệu giống hoặc tương ứng với kiểu
dữ liệu đã khai báo của cột ( column ), nếu không phù hợp thì lỗi sẽ phát
sinh
Muốn INSERT vào CSDL thì ta có cấu trúc như sau:
16
CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3. MÔ TẢ HỆ THỐNG
3.1 Mô hình:
3.1.1 Mô hình quan niệm dữ liệu:
3.1.2 Mô hình tổ chức dữ liệu:
Thanh_vien(iduser, mat_khau, email, dien_thoai, dia_chi, hoten,
idctdh)
Loaidulieu(maloai,tenloai)
Dulieu(iddl, tenSP, hinh_anh, dongia, size,mo_ta_ngan, sap_xep,
Mancc, maloai)
Nhacungcap(Mancc, ten, diachi, dienthoai, email)
Chitietdathang(idctdh,
soluong, idhd)
hoten,
diachi,
dienthoai,
email,
iddl,
Hoadon(idhd, ho_ten, dia_chi, email, dien_thoai, noi_dung, size,
soluong, gia, tongcong, iduser)
Admin(idadmin, hoten, password, email, diachi, iduser)
3.1.3 Mô hình vật lý dữ liệu:
17
+ Loaidulieu:
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
Maloai
Varchar
10
Tenloai
nvarchar
50
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
Mancc
Varchar
10
Ten
nvarchar
50
diachi
Nvarchar
50
dienthoai
Nvarchar
50
email
nvarchar
50
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
Iduser
Varchar
10
Mat_khau
Nvarchar
50
email
Nvarchar
50
Dien_thoai
Nvarchar
50
Dia_chi
Nvarchar
50
hoten
Nvarchar
50
idctdh
varchar
10
Kiểu dữ liệu
Kích thước Ràng
buộc
Len=10
+ Nhacungcap:
Len=10
+ Thanh_vien:
Len=10
Len=10
+ Dulieu:
Tên thuộc tính
18
Iddl
Varchar
10
Len=10
TenSP
Nvarchar
50
Hinh_anh
Nvarchar
50
Dongia
Nvarchar
50
Size
Nvarchar
50
Mo_ta_ngan
Nvarchar
50
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
Idctdh
Varchar
10
Hoten
nvarchar
50
diachi
Nvarchar
50
dienthoai
Nvarchar
50
Email
nvarchar
50
Password
nvarchar
50
Iddl
varchar
10
Len=10
Idhd
varchar
10
Len=10
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
Idhd
Varchar
10
Hoten
Nvarchar
50
diachi
Nvarchar
50
dienthoai
Nvarchar
50
email
nvarchar
50
Noidung
Nvarchar
50
Size
Nvarchar
50
Soluong
Int
+ Chitietdathang:
Len=10
+ Hoadon:
19
Len=10
Gia
Int
Tongcong
Int
Iduser
Varchar
10
Tên thuộc tính
Kiểu dữ liệu
Kích thước Ràng
buộc
iduser
Varchar
10
Hoten
Nvarchar
50
Password
Nvarchar
50
Email
Nvarchar
50
Diachi
Nvarchar
50
Iduser
Varchar
10
Len=10
+ Admin:
3.2 XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH
Một số giao diện chính:
+ Giao diện chính:
20
Len=10
Len=10
+ Trang đăng nhập admin:
+ Trang mua hàng:
21
+ Trang quản lý:
22
+ Trang thêm sản phẩm:
23
+ Trang xóa sản phẩm:
24
+ Trang thống kê:
25