1. Trang chủ
  2. » Công Nghệ Thông Tin

Đồ án thực tập tốt nghiệp Website bán rau củ quả tươi sạch

84 1,8K 29

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 9,2 MB

Nội dung

Trong thời gian thực hiện đồ án với sự giúp đỡ tạo điều kiện của trường Đại học Sư Phạm – Đại học Đà Nẵng, sự góp ý của các bạn và đặc biệt là sự quan tâm hướng dẫn trực tiếp, chỉ bảo tận tình của thầy giáo TS. Phạm Anh Phương em đã hoàn thành đề tài cùng với bản báo cáo đúng thời gian quy định. Với khả năng và thời gian có hạn nên không tránh khỏi những thiếu sót, em rất mong nhận được sự quan tâm, giúp đỡ, tạo điều kiện của thầy cô giáo để em hoàn thiện hơn đề tài nghiên cứu trong thời gian tới.Em xin cảm ơn quý công ty POWERNET đã tạo điều kiện để em có thể được thực tập, hiểu biết thêm được nhiều kiến thức chuyên ngành cần thiết, cũng như những kĩ năng làm việc nhóm, làm việc cá nhân hiệu quả hơn .Một lần nữa em xin chân thành cảm ơn tất cả các thầy, cô giáo trong Trường Đại học Sư Phạm – Đại học Đà Nẵng, quý công ty POWERNET cũng như các thầy cô giáo của các trường, các tổ chức liên kết đã dạy dỗ, chỉ bảo em trong suốt thời gian học tập.

Trang 1

LỜI CẢM ƠN

Trong thời gian thực hiện đồ án với sự giúp đỡ tạo điều kiện của trường Đại học

Sư Phạm – Đại học Đà Nẵng, sự góp ý của các bạn và đặc biệt là sự quan tâmhướng dẫn trực tiếp, chỉ bảo tận tình của thầy giáo TS Phạm Anh Phương em đãhoàn thành đề tài cùng với bản báo cáo đúng thời gian quy định Với khả năng vàthời gian có hạn nên không tránh khỏi những thiếu sót, em rất mong nhận được sựquan tâm, giúp đỡ, tạo điều kiện của thầy cô giáo để em hoàn thiện hơn đề tàinghiên cứu trong thời gian tới

Em xin cảm ơn quý công ty POWERNET đã tạo điều kiện để em có thể đượcthực tập, hiểu biết thêm được nhiều kiến thức chuyên ngành cần thiết, cũng nhưnhững kĩ năng làm việc nhóm, làm việc cá nhân hiệu quả hơn

Một lần nữa em xin chân thành cảm ơn tất cả các thầy, cô giáo trong TrườngĐại học Sư Phạm – Đại học Đà Nẵng, quý công ty POWERNET cũng như các thầy

cô giáo của các trường, các tổ chức liên kết đã dạy dỗ, chỉ bảo em trong suốt thờigian học tập

Em xin chân thành cảm ơn!

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan:

1 Những nội dung trong báo cáo tốt nghiệp này là do tôi thực hiện dưới sựhướng dẫn trực tiếp của thầy Phạm Anh Phương

2 Mọi tham khảo dùng trong đồ án thực tập đều được trích dẫn rõ ràng và trungthực tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịuhoàn toàn trách nhiệm

Đà Nẵng, ngày tháng năm 2016

Sinh viên thực hiện

Huỳnh Bá Duy

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Đà Nẵng, ngày tháng năm 2016

Giáo viên hướng dẫn

Phạm Anh Phương

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN MỤC LỤC 3

DANH MUC VIẾT TẮT 6

DANH MỤC BẢNG BIỂU 7

DANH MỤC HÌNH ẢNH 8

MỞ ĐẦU 11

1.Lý do chọn đề tài 11

2.Mục tiêu đề tài 11

3.Đối tượng và phạm vi đề tài 11

4.Tiêu chí chức năng của đề tài 12

CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 14

1.1 Tổng quan về MYSQL VÀ PHP 14

1.1.1 Hệ quản trị cơ sở dữ liệu MYSQL 14

1.1.1.1 Giới thiệu về MYSQL 14

1.1.1.2 Một số khái niệm 15

1.1.1.3 Những cú pháp cơ bản 17

1.1.1.4 Cài Đặt Xampp 19

1.1.2 Ngôn ngữ lập trình PHP 24

1.1.2.1 Lịch sữ phát triễn 24

1.1.2.2 Cách thức hoạt động 26

1.1.2.3 Cấu trúc cơbản và các câu lệnh 26

1.2 Tổng quan về HTML/CSS 33

1.2.1 Sơ lược về HTML 33

1.2.2 Sơ lược về CSS 36

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 37

2.1 Giới thiệu bài toán 37

2.2 Khảo sát 37

Trang 5

2.3 Phân tích hệ thông 38

2.3.1 Mô tả hệ thống 38

2.3.1.1 Hoạt động của web bán hàng 38

2.3.1.2 Yêu cầu chức năng 39

2.3.1.3 Yêu cầu phi chức năng 39

2.3.1.4 Sơ đồ chức năng 40

2.3.1.5 Sơ đồ dòng dữ liệu 42

2.3.1.6 Mô hình E-R 47

2.3.1.7 Mô hình quan hệ dữ liệu 48

2.4 Thiết kế hệ cơ sở dữ liệu vật lý 49

CHƯƠNG 3: CÀI ĐẶT WEBSITE BÁN RAU CỦ QUẢ TƯƠI SẠCH 54

3.1 Giao diện trang web và chức năng giành cho khách hàng 54

3.2 Chức năng trang quản trị viên 66

KẾT LUẬN 83

1.Kết quả đạt được 83

2.Hạn chế của đề tài 83

3.Hướng phát triển đề tài 83

TÀI LIỆU THAM KHẢO 84

Trang 6

DANH MUC VIẾT TẮT

Trang 7

DANH MỤC BẢNG BIỂU

Trang 8

DANH MỤC HÌNH ẢNH

Trang 9

Hình 28 :Xem chi tiết sản phẩm 58

Trang 10

Hình 57: Giao diện quản lý kiểu sản phẩm 75

Hình 63: Giao diện quản lý tài khoản khách hoàn 78

Trang 11

vụ con người

Hiện nay, tình trạng rau tồn dư hóa chất, kém chất lượng đang trôi nổi tràn lantrên thị trường Nhằm mang lại cho khách hàng những mặt hàng nông sản và đạtchất lượng, tươi sạch, đảm bảo vệ sinh và nguồn gốc xuất xứ

Từ thực tế đó em đã có ý tưởng xây dựng và thiết kế “Websitebán rau củ quảtươi sạch” để phục vụ mọi người một cách tốt nhất

2 Mục tiêu đề tài

Có hai mục tiêu khi thục hiện nghiên cứu đề tài:

- Học tập và nghiên cứu các kiến thức như sau: Phân tích và thiết kế hệ thốngthông tin, cách xây dựng một trang web thương mại điện tử, HTML/CSS,PHP và MYSQL

- Xây dựng sản phẩm là trang “website bán rau củ quả tươi sạch” cung cấpmột số chức năng cơ bản để đáp ứng nhu cầu mua sắm trực tuyến của kháchhàng và quản trị trang web của người quản trị viên

3 Đối tượng và phạm vi đề tài

3.1 Đối tượng nghiên cứu

- Quy trình xây dựng và thiết kế website bán rau củ quả tươi sạch trựctuyến bằng PHP và MYSQL đảm bảo các chức năng cơ bản chokhách hàng và chức năng quản trị web giành cho quản trị viên

3.2 Phạm vi đề tài

- Website bán rau củ quả sạch được áp dụng cho các cá nhân hay tổchức muốn kinh doanh rau củ quả sạch bằng hình thức trực tuyến

Trang 12

nhằm tiết kiệm chi phí mặt bằng, nguồn nhân lực, thời gian quản lý.

- Ngoài ra website khi được mở rộng có thể đáp ứng được cho các siêuthị kinh doanh rau củ quả sạch

4 Tiêu chí chức năng của đề tài

- Sản phẩm là website “Bán rau củ quả tươi sạch” với những chức năng giànhcho hai đối tượng là khách hàng, quản trị viên:

- Một số tiêu chí chức năng

Khách hàng

- Giao diện web dễ sữ dụng và có tính thẩm mỹ cao

- Giao diện web phải thiết kế sao cho nội dung hiển thị phải chính xác

và đầy đủ thông tin nhất để đáp ứng nhu cầu của khách hàng

- Để thuận tiện cho việc mua bán và giao dịch, hệ thống phải cho phépngười dùng đăng kí tài khoản, thông tin đăng kí phải được bảo mật

- Để thuận tiện cho mua hàng hệ thống cho phép người truy cập hoặcngười dùng cập cập nhật số lượng, thêm, xóa các sản phẩm có tronggiỏ hàng của họ

- Nếu người dùng đã đăng nhập thì cho phép họ thanh toán để tiếnhành giao hàng

- Hình thức thanh toán phải dễ sữ dụng và bảo mật

Trang 13

- Bình luận về sản phẩm.

- Đóng góp ý kiến cho người quản trị

Quản trị

- Cung cấp cho người quản trị giao diện quản lí rõ ràng, dễ sử dụng

- Đối với người quản trị hệ thống phải cho phép họ đăng kí, đăngnhập, cập nhật lại thông tin tài khoản

- Cho phép người quản trị cập nhật sản phẩm lên website một cách đơngiản và chính xác

- Cung cấp cho chức năng quản lí danh sách sản phẩm

- Thống kê cho người quản trị các vấn đề sau: khách hàng, thu chi, sảnphẩm, đơn đặt hàng

- Cho phép người quản trị được quyền thêm, xóa, sửa tài khoản kháchhàng hay sản phẩm website

- Cho phép người quản trị được quyền xem các hóa đơn, xóa hóa đơn

- Cho người quản trị chỉnh sửa các trang giới thiệu, tin tức, liên hệ củatrang website

- Cho phép quản trị thống kê, quản lí đơn hàng

Trang 14

CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT1.1 Tổng quan về MYSQL VÀ PHP

1.1.1 Hệ quản trị cơ sở dữ liệu MYSQL

1.1.1.1 Giới thiệu về MYSQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới

và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, đơn giải, linh hoạt, ổn định và dễ sử dụng, cótính khả chuyển, đặc biệt là miễn phí hoặc tốn rất ít phí, hoạt động trên nhiều hệđiều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tínhbảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trêninternet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trangchủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32, Win

64 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD,NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụng choviệc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tintrên các trang web viết bằng PHP hay Perl Việc kết hợp cơ sở dữ liệu với ứng dụngweb, dữ liệu xử lý do php sẽ tương tác với csdl như lấy dữ liệu, làm nội dung trangweb từ trạng thái tĩnh sang động Sự linh hoạt này là cốt lõi của một ứng dụng webđộng (dynamic web application)

Mô hình tương tác giữ client - server: PHP và MySQL PHP dùng để gửiyêu cầu cho server và PHP đóng vai trò làm thông dịch và lấy kết quả có được trảlại cho client ở dạng mã HTML cho người dùng hiểu và sử dụng Đây là những gìdiễn ra khi client yêu cầu server cho phép gửi một yêu cầu lên forum : Server sửdụng PHP để thực hiện việc chuyển tải yêu cầu PHP thực hiện việc cần làm của nó,rồi báo cáo là nó cần đến MySQL để lưu trữ tin nhắn đó, PHP lưu cái yêu cầu nàyvào MySQL và sau này lấy ra lại để sử dụng

MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với

Trang 15

Apache, PHP Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL

đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở.MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL.Nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL Vềbản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành củawebsite nhưng hầu hết có thể giải quyết các bài toán trong PHP

Mô hình tương tác giữa web PHP với MySQL:

Hình 1: Mô hình tương tác giữa PHP với MySQL.

1.1.1.2 Một số khái niệm

- Cơ sở dữ liệu: Là tên của cơ sở dữ liệu chúng ta muốn sử dụng

- Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu

- Khóa của bảng:

+ Khóa chính – Primary Key:

Là một hoặc tổ hợp nhiều cột dữ liệu xác định duy nhất trong một bảng, giá trị khóa chính luôn khác NULL

+ Khóa ngoại - Foreign Key:

Là một trường (field) hay một nhóm trường trong một bản ghi (record) của một bảng (table), trỏ (point) đến khóa của một bản ghi khác của một bảng

Trang 16

(thường thì hai bảng này khác nhau) Thông thường, khóa ngoại trong một bảng

trỏ đến khóa chính (primary key) của một bảng khác.

- Cột là một giá trị nằm trong bảng Dùng để lưu trữ các trường dữ liệu

Ví dụ:

Hình 2: Ví dụ bảng trong cơ sở dữ liệu.

Như vậy ta có thể hiểu như sau:

+ Một cơ sở dữ liệu có thể bao gồm nhiều bảng

+ Một bảng có thể bao gồm nhiều cột

+ Một cột có thể có hoặc không có những thuộc tính

- Một số thuật ngữ

+ NULL : Giá trị cho phép rỗng

+ AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động)

+ UNSIGNED : Phải là số nguyên dương

+ PRIMARY KEY : Cho phép nó là khóa chính trong bảng

- Kiểu dữ liệu trongMySQL

+ Việc định nghĩa một cách hợp lý các trường trong một bảng là quantrọng để tối ưu hóa toàn bộ cơ sở dữ liệu

.+ Các kiểu của trường (hoặc cột) cũng được biết đến như là các kiểu

Trang 17

dữ liệu, tức là kiểu dữ liệu sẽ lưu trữ trong các trường đó.

+ Trong MySQL có 9 kiểu dữ liệu cơ bản

Hình 3: Các kiểu dữ liệu.

1.1.1.3 Những cú pháp cơ bản

Tạo một cơ sở dữ liệu:

Câu lệnh: CREATE DATABASE tên_cơ_sở_dữ_liệu

Cú pháp thoát khỏi cơ sở dữ liệu: Exit

Tạo một bảng trong cơ sở dữ liệu

Câu lệnh: CREATE TABLE Tên_bảng (<tên_cột><mô_tả>,…,

<tên_cột_n>…<mô_tả_n>)

+ Hiển thị có bao nhiều bảng: Ta dùng câu lệnh SHOW table

+ Hiển thị có bao nhiêu cột trong bảng: Ta dùng câu lệnh: SHOW COLUMNS FORM table

+ Thêm 1 cột vào bảng:

Câu lệnh: ALTER TABLE Tên_bảng ADD (tên_cột)(thuộc_tính)

Xóa một bảng trong cơ sở dữ liệu:

Câu lệnh: DROP TABLE Tên_Bảng

Đổi tên một bảng trong cơ sở dữ liệu:

Trang 18

Câu lệnh:RENAME TABLE Tên_ bảng TO Tên_cần đổi;

Thêm giá trị vào bảng:

Câu lệnh:INSERT INTO Tên_bảng VALUES(Giá_trị_tương_ứng);

Truy xuất dữ liệu:

Câu lệnh:SELECT Tên_cột FROMTên_bảng;

Truy xuất dữ liệu với điều kiện:

Câu lệnh : SELECT Tên_cột FROM Tên_bảng WHERE điều kiện;

+ Truy xuất dữ liệu và xắp xếp theo trình tự:

Câu lệnh: SELECT Tên_cột FROM Tên_bảng WHERE điều kiện (có thể

có where hoặc không) ORDER BY Theo quy ước sắp xếp Trong đó quy ước sắpxếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên)

+ Truy xuất dữ liệu có giới hạn:

Câu lệnh: SELECT Tên_cột FROM Tên_bảng WHERE điều kiện (cóthể có wherehoặc không) LIMIT vị trí bắt đầu, số record muốn lấy ra

Cập nhật dữ liệu vào bảng:

Câu lệnh: UPDATE Tên_bảng SET Tên_cột=Giá trị mới WHERE (điềukiện) Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới củacác record trongbảng

Xóa dữ liệu trong bảng:

Câu lệnh: DELETE FROM Tên_bảng WHERE (điều kiện) Nếu không córàng buộc điều kiện, chúng sẽ xóa toàn bộ giá trị của các record trong bảng

Các câu lệnh INNER JOIN, LEFT JOIN:

Giả sử rằng chúng ta sẽ truy vấn dữ liệu từ hai bảng T1 và T2 Sau đây là cúpháp của LEFT JOIN giữa hai bảng:

SELECT T1.c1, T1.c2, T2.c1,T2.c2FROM T1LEFT JOIN T2 ON T1.c1 =T2.c1

Cú pháp câu lệnh INNER JOIN:

SELECT T1.c1, T1.c2, T2.c1,T2.c2FROM T1INNER JOIN T2 ON T1.c1 = T2.c1

Trang 19

Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép

tự động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất ký lúc nào

- Cài đặt Xampp:

 Các bước cài đặt:

+ Sau khi download thành công, bạn chạy file vừa tải về để cài đặt

Trang 20

Hình 5: Giao diện cài đặt.

+ Bạn nhấn Next ở màn hình tiếp theo lựa chọn các service kèm theo Xampp

Hình 6: Chọn lựa các service.

Trang 21

+ Theo mặc định XAMPP sẽ được cài đặt theo đường dẫn C:\xampp, bạn

có thể thay đổi vị trí lưu vào ổ đĩa khác tùy ý

Hình 7: Chọn thư mực lưu.

+ Quá trình cài đặt Xampp đang thực thi

Hình 8: Thực thi quá trình cài đặt.

Trang 22

+ Bạn nhấn vào nút Finish kết thúc.

Hình 9: Kết thức cài đặt.

+ Hướng dẫn tạo database trong Xampp

Sau khi cài đặt xong thì cửa sổ XAMPP Control Panel hiện lên, bạn kíchhoạt Web Localhost bằng việc click vào 2 nút Start đầu tiên để khởi động Apache

và MySQL

Hình 10: Giao diện XAMPP Control Panel

Trang 23

Sau khi kích hoạt xong, bạn click vào nút Admin bên cạnh nút Start để tạo

Database Khi đó, bạn sẽ được đưa tới màn hình quản trị phpMyAdmin.

Hoặc bạn cũng có thể nhập trực tiếp đường dẫn

sau: http://localhost/phpmyadmin/

Hình 11: Giao diện tạo cơ sở dữ liệu

Kích vào chữ database góc trái màng hình trên thanh công cụ để tạo CSDL

Hình 12: Giao diện tạo database.

Trang 24

Kết quả tạo thành công database

Hình 13: Kết quả tạo

Sau khi tạo thành công chúng tiếp tục thực hiện tạo bảng và tạo dữ liệu

1.1.2 Ngôn ngữ lập trình PHP

1.1.2.1 Lịch sữ phát triễn

PHP viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình

kịch bản được chạy ở phía server nhằm sinh ra mã HTML trên client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng

Các phiên bản của PHP

 PHP

Được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus

Lerdorftạo ra năm 1995, ban đầu được xem như là một tập con đơn giản

Trang 25

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'.

 PHP 3

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 đó PHP 3.0 đã chính thức được công bố vào tháng 6năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm

 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ạiphần lõi của PHP Một động cơ mới, có tên 'Zend Engine' (ghép từ cácchữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết

kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữanăm 1999 PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt cáctính năng mới bổ sung, đã chính thứ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

 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óm pháttriể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đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới củaMySQL 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ộtthảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắtđầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeevliên quan đến phiên bản này thì đã có mặt trên mạng Internet vào tháng 7năm 2002

Trang 26

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ất hiệ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 travới việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọicác hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiềuhàm mới PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 saumộ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ẫncòn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.

1.1.2.2 Cách thức hoạt động

Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine

để thông dịch dịch trang PHP và trả kết quả cho người dùng như hình bêndưới

Hình 14: Mô hình cách thức hoạt dộng của PHP.

1.1.2.3 Cấu trúc cơbản và các câu lệnh

1.1.2.3.1 Cấu trúc cơ bản

PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML Chỉkhác đối với PHP chúng ta có nhiều cách để thể hiện

- Cách 1 : Cú pháp chính:<?php Mã lệnh PHP?>

Trang 27

- Xuất giá trị ra trình duyệt

Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau :

+ echo "Thông tin";

+ printf "Thông tin";

Thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML …

Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "."

- Biến, hằng, chuỗi và các kiểu dữ liệu

 Biến

Biến được xem là vùng nhớ dữ liệu tạm thời Và giá trị có thể thayđổi được Biếnđược bắt đầu bằng ký hiệu "$" Và theo sau chúng là một từ, mộtcụm từ nhưng phải viết liền hoặc có gạch dưới Một biến được xem là hợp lệkhi nó thỏa các yếu tố :

+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký

tự, số haydấu gạch dưới

+ Tên của biến không được phép trùng với các từ khóa của PHP.Trong PHP để sử dụng một biến chúng ta thường phải khai báo trước,

Trang 28

tuy nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng mộtlúc các công việc, nghĩa là vừa khai báo vừa gán dữ liệu cho biến.

Bản thân biến cũng có thể gán cho các kiểu dữ liệu khác Và tùy theo ý địnhcủa người lập trình mong muốn trên chúng

 Hằng

Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng takhông thể thay đổi được Hằng trong PHP được định nghĩa bởi hàm define theo

cú pháp: define (string tên_hằng, giá_trị_hằng)

Hằng hợp lệ là hằng thỏa mãn một số điều lệ sau:

+ Hằng không có dấu "$" ở trướctên

+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh

+ Hằng chỉ được phép gán giá trị duy nhất một lần

+ Hằng thường viết bằng chữ in để phân biệt với biến

 Chuỗi

Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặttrong các dấu nháy

Ví dụ: "Huynh ba duy"

Để tạo 1 biễn chuỗi, chúng ta phải gán giá trị chuỗi cho một biến hợp lệ

Ví dụ:$fisrt_name= "Huynh"; , $last_name= "Ba A";

Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu "."

 Kiểu dữ liệu

Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thểđược xử lý theo cách khác nhau khi chúng được theo tác trong một script.Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau:

+ Kiểu INT: Chữ INT là viết tắt của chữ INTEGER, là một kiểu dữ liệudạng số và có thể ở viết ở nhiều cơ số khác nhau Nó có kích thước là 32bit

Ví dụ: <?php $tuoi = 20; // biến tuổi theo kiểu dữ liệu INT có giá trịbằng 20 ?>

+ Kiểu Boolean: Đây là một kiểu dữ liệu đơn giản nhất trong các kiểu

Trang 29

dữ liệu trong PHP, nó chỉ chứa 2 giá trị là đúng hoặc sai (TRUE hoặcFALSE).

Ví dụ: <?php $is_admin = false; // biến $admin là kiểu boolean có giá trị làfalse ?>

+ Kiểu số thực: Đây là một kiểu dữ liệu dạng số có phần dư nó gồm có haikiểu dữ liệu là Float và Double

Ví dụ: <?php$a = 1.234; // biến a kiểu số thực có giá trị là 1.234 ?>

+ Kiểu chuỗi(String): Kiểu chuỗi mình gồm kiểu string (chuỗi) và char (kýtự), mỗi ký tự là 1 byte và là một trong 256 ký tự khác nhau

Ví dụ: <?php $a = 123; // khai báo biến $a kiểu int có giá trị 123

$a = (string)$a; //Chuyển biến $a thành kiểu chuỗi và có giátrị là '123'

?>

+ Kiểu mảng(Array): Mảng là danh sách các phần tử có cùng kiểu dữ liệu

và nó là một trong các kiểu dữ liệu trong PHP có độ phức tạp tính toán cao

Có 2 loại mảng là mảng một chiều hoặc mảng nhiều chiều Riêng với PHP thì các phần tử của mảng có thể không cùng kiểu dữ liệu, và các phần tử của mảng

được truy xuất thông qua các chỉ mục(vị trí) của nó nằm trong mảng

Ví dụ:<?php $a = null; // Khởi tạo biến $a và gán giá trị null ?>

Chúng ta có thể sử dụng hàm dựng sẵn gettype() của PHP4 để kiểm tra kiểucủa bất kỳbiến

- Các phương thức được sử dụng trong lập trình PHP

Có 2 phương thức được sử dụng trong lập trình PHP là GET và POST

Trang 30

Không hổ trợ uploading file Chỉ hỗ trợ bảng mã ASCII chuẩn.

Ví dụ:Với url sau: shownews.php?id=50 Vậy với trang shownews tadùng hàm $_GET["id"] sẽ được giá trị là 50

+ Phương thức POST

Dữ liệu được nhúng vào trong HTTP request khi gởi đến server Các dữliệu được đưa vào biến siêu toàn cục $_POST với khóa tương ứng với tên cácthành phần input trong form

Phương thức POST có tính bảo mật hơn phương thức GET vì dữ liệu đượcgởi thông qua một form HTML nên nó bị ẩn

Với phương thức GET thì dữ liệu được lấy lên trên URL còn phương thứcPOST thì hoàn toàn ngược lại, POST sẽ gởi dữ liệu qua một cái form HTML

và các giá trị sẽ được định nghĩa trong các thẻ input của HTML và được nhậndạng thông qua name

Hỗ trợ uploading file Hỗ trợ nhiều bảng mã

- Cookie và Session trong PHP

Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làmviệc giữa người sử dụng và hệthống

+ Cookie

Cookie là một đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ nhớ củamáy người sử dụng Nó được trình duyệt gởi ngược lên lại server mỗi khibrowser tải một trang web từ server

Những thông tin được lưu trữ trong Cookie hoàn toàn phụ thuộc vào website

Trang 31

trên server Mỗi website có thể lưu trữ những thông tin khác nhau trongCookie.

Cookie được tạo ra bởi website và gởi tới browser, do vậy hai websitekhác nhau (cho dù cùng host trên một server) sẽ có hai Cookie khác nhau gởi tớibrowser Ngoài ra, mỗi browser quản lý và lưu trữ Cookie theo cách riêng của mình,cho nên hai browser cùng truy cập vào một website sẽ nhận được hai Cookie khácnhau

Để thiết lập Cookie ta sử dụng cú pháp:SetCookie("tên Cookie","giá trị",thời gian sống) Tên Cookie là tên mà chúng ta đặt cho phiên làm việc Giá trị làthông số của tênCookie

Ví dụ: setCookie("name","admin",time()+3600)

Để sử dụng lại Cookie vừa thiết lập, chúng ta sử dụng cú pháp:

$_COOKIE[" tên Cookies "] Tên Cookie là tên mà chúng ta thiết lập phía trên

Để hủy một Cookie đã được tạo ta có thể dùng một trong hai cách sau:

Để thiết lập Session ta thiết lập cú pháp sau:Session_start();

Đoạn code này phải được nằm trên các kịch bản HTML Hoặc nhữnglệnh echo, printf Để thiết lập1 giá trị Session, ngoài việc cho phép bắt đầu thựcthi Session Chúng ta còn phải đăng ký một giá trị Session Để tiện cho việcgán giá trị cho Session đó

Trang 32

Để hủy bỏ giá trị của Session ta có những cách sau:

Session_destroy() // cho phép hủy bỏ toàn bộ giá trị Session

Session_unset() // cho phép hủy bỏ Session

- Hàm

Để giảm thời gian lặp lại một thao tác code nhiều lần, PHP hỗ trợ ngườilập trình việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trongwebsite Việc này cũng giúp cho người lập trình kiểm soát mã nguồn một cáchmạch lạc Đồng thời có thể tùy biến ở mọi trang Mà không cần phải khởi tạo hayviết lại mã lệnh như HTML thuần

+ Hàm tự định nghĩa

Cú pháp:

function function_name(){

//Lệnh thực thi}

Tên hàm có thể là một tổ hợp bất kỳ những chứ cái, con số và dấu gạchdưới, nhưng phải bắt đầu từ chứ cái và dấu gạch dưới

+ Hàm tự định nghĩa với các tham số

Cú pháp:

functionfunction_name($gt1,$gt2){

//Lệnh thực thi}

Trang 33

+ Hàm tự định nghĩa với giá trị trả về

PHP cung cấp nhiều hàm cho phép triệu gọi lại file Như hàminclude("URLđến file"), require("URL Đến file")

Ngoài hai cú pháp trên còn có include_once(), require_once() Hai hàmnày cũng có trách nhiệm gọi lại hàm.Những chúng sẽ chỉ gọi lại duy nhất một lần

mà thôi

- Kết hợp PHP và MySQL trong ứng dụng website

+ Để kết nối đến cơ sở dữ liệu ta dùng câu lênh:

MySQL_connect("hostname","user","pass")

+ Lựa chọn cơ sở dữ liệu: MySQL_select_db("tên_CSDL")

+ Thực thi câu lệnh truy vấn MySQL_query(“Câu truy vấn")

+ Đếm số dòng dữ liệu trong bảng MySQL_num_ row ()

+ Thực thi câu lệnh truy vấn MySQL_query(“Câu truy vấn")

+ Lấy dữ liệu bảng đưa vào mảng MySQL_fetch_array()

được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trongcác tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành mộtchuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản

Trang 34

chính thức mới nhất của HTML là HTML 4.01 (1999) Sau đó, các nhà phát triển đãthay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên

HTML không phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày

- Cấu trúc cở bản và các câu lệnh của HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title> New Document </title>

<meta name="Generator" content="EditPlus">

<meta name="Author" content="">

<meta name="Keywords" content="">

<meta name="Description" content="">

</head>

<body>

</body>

</html>

- Các thẻ cơ bản hay sữ dụng trong HTML

+ <div> : Xác định một phân chia khu vực hay một vùng trong văn bản.+ <h1> tới <h6>: Xác định tiêu đề html

+ <img >: Hiển thị một image

+ <input >: Xác định một điều khiển nhập

+ <label>: Tạo một nhãn cho thành phần input

+ <button>: Xác định một button

+ <hr >: Tạo một đường ngang

+ <i>: Hiển thị chữ in nghiên

+ <li>: Xác định danh sách item

+ <ul>: Định nghĩa một danh sách không có thứ tự

Trang 35

+ <ol>: Định nghĩa một danh sách có thứ tự.

+ <a>: Định nghĩa một đường liên kết link tới trang khác

+ <b>: Định nghĩa một từ được in đậm

+ <u>: Định nghĩa một từ được gạch chân

+ <br> : Thẻ xuống dòng

+ <span>: Định nghĩa một khối văn bản

- Form, Frame, Table

+ Form: Tag <form> được dùng để tạo một "biểu mẫu" HTML cho ngườidùng,được dùng để truyền dữ liệu lên máy chủ.Tag <form> không nên dùng để điềukhiển layout

Cấu trúc: Trong <form> bắt buộc phải có tham số action

<form action=""></form> một <form> có thể chứa thành phần <input>,

<select>, <texarea>, <fieldset>, <legend>, <label>, có thể chứa các tag khác

Ví dụ: <form action="#">

<ul>

<li>Họ tên: <input type="text" size="30" /></li>

<li>Email: <input type="text" size="30" /></li>

<li>Ngày sinh: <input type="text" size="10" /></li>

Trang 36

+ Table: Tag <table> dùng để tạo một bảng trong html

<tr> xác định hàng của table

<th> xác định phần tử tiêu đề của table

<td> xác định phần tử nội dung của table

1.2.2 Sơ lược về CSS

CSS (Cascading Style Sheet) được dùng để miêu tả cách trình bày tài liệuviết bằng ngôn ngữ HTML và XHTML Ngoài ra CSS còn có thể dùng cho XML,SVG, XUL Các đặc điểm kỹ thuật của CSS được quy định bởi World Wide WebConsortium (W3C) CSS góp phần làm cho định dạng của các trang web trở nênphong phú và đa dạng hơn Do đó việc tìm hiểu CSS và HTML luôn đi kề nhau Cúpháp trong CSS

Một cú pháp của CSS có hai phần: Một sector, và một hay nhiềudeclaration

Hình 15: Mô tả cú pháp của CSS.

- Sector là phần tử thông thường của HTML mà bạn muốn chỉnh style

- Mỗi một Declaration bao gồm một thuộc tính (property) và 1 giá trị (value): Property là thuộc tính phong cách mà bạn muốn thay đổi, mỗi một property

có một giá trị (value)

Ví dụ: p {color:red;text-align:center;}, p{color:red;text-align:center;}

Trang 37

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 Giới thiệu bài toán

Trước thực tế các bữa ăn trong gia đình đang bị đe dọa bởi thực phẩm bẩn trong

khi đó rau củ quả là một thực phẩm không thể thiếu trong các bữa ăn , nhưng hiệnnay các sản phẩm rau củ quả trên thị trường có tồn dư nhiều thuốc hóa học gâynguy hiểm cho sức khỏe người tiêu dùng Bài toán đặt ra là cần phải xây dựng một

hệ thống bán rau của quả sạch trực tuyến để có thể cung cấp sản phẩm rau sạch chấtlượng đến khách hàng một cách nhanh gọn, tiết kiệm thời gian, chi phí của kháchhàng lẫn chủ kinh doanh

Hệ thống phải đảm bảo các chức năng cơ bản dành cho khách hàng cũngnhư người quản trị viên hệ thống

Hệ thống phải cho phép khách hàng đăng ký tài khoản, đăng nhập tài khoản,xem tùy chỉnh thông tin tài khoản, tìm kiếm sản phẩm, đặt mua sản phẩm, bình luận

về sản phẩm mua, phản hồi ý kiến với quản trị viên

Hệ thống phải thiết lập các chức năng đăng ký, đăng nhập, xem tùy chỉnh tàikhoản, quản lý sản phẩm, quản lý người dùng, chỉnh sửa cấu hình website, quản lýphản hồi từ khách hàng, báo cáo thống kế tình hình hoạt động của trang website

dành cho người quản trị viên.

2.2 Khảo sát

Để có được một trang web đảm bảo chất lượng và hoàn thiện em đã thực hiệnkhảo sát và tham khảo một số trang web thương mại điện tử để từ đó giúp cho emtrong việc hoàn thiện sản phẩm của mình tốt hơn

Các trang web tham khảo: lazada.vn, rausieusach.com, fvf.vn

Về mặt tổng thể một trang thương mại điện tử cần đảm bảo những chức năng cơbản sau:

- Giới thiệu về công ty

+ Giới thiệu thông tin về website

+ Các thông tin cơ bản về nội dung website và các điều lệ

Trang 38

- Thông tin sản phẩm

+ Thông tin chi tiết về các mặc hàng

+ Giá bán của sản phẩm và cách liên hệ giao dịch

- Hình thức thanh toán: Có 2 hình thức thanh toán chính:

+ Thanh toán trực tiếp: thông qua giao dịch trực tiếp giữa khách hàng

và người giao hàng

+ Thanh toán thông qua chuyển khoản: Thanh toán thông qua thẻ tíndụng, thẻ ATM và thẻ card thông qua các ngân hàng mà công ty đãđăng ký

Kết luận: Từ việc tham khảo các trang web thương mại điện tử đã giúp cho emđịnh hình được cấu trúc cơ bản của một trang thương mại điện tử Những chức năng

về sản phẩm, hình thức thanh toán, giỏ hàng là cực kỳ quan trọng nó ảnh hưởng đếnquá trình giao dịch giữa công ty với khách hàng, ngoài ra một trang web thương mạiđiện tử phải có giao diện dễ nhìn, thân thiện với người dùng, đơn giản nhưng đầy đủtính năng để tiết kiệm chi phí về thời gian và kinh phí đi lại của công ty và kháchhàng Trang quản trị phải trực quan, đảm bảo đầy đủ các chức năng để người quảntrị có thể quản lý hệ thống được thuận tiện

2.3 Phân tích hệ thông

2.3.1 Mô tả hệ thống

2.3.1.1 Hoạt động của web bán hàng

- Khi một khách hàng truy cập vào website họ có khả năng xem và tìmkiếm những mặt hàng mà họ cần theo tên mặc hàng, danh mục, tên nhàcung cấp, giá sản phẩm Khi khách hàng xem một sản phẩm cụ thểwebsite sẽ đưa ra thông tin chi tiết về sản phẩm, bao gồm mô tả của nhà

Trang 39

cung cấp, hình ảnh sản phẩm Nếu họ muốn đưa ra các bình luận đánhgiá hoặc đưa hàng hóa vào giỏ hàng thì họ phải thực hiện đăng nhập tàikhoản, nếu không có tài khoản thì khách hàng phải đăng ký tài khoản.Khi một người khách hàng muốn sửa đổi thông tin tài khoản thì vàomục sửa đổi thông tin tài khoản có ở giao diện website.

- Khi một giao dịch được xác nhận thì khách hàng sẽ nhìn thấy đơn hàng mà mình

đã mua mà sẽ một email của công ty gởi cho khách hàng thông báo xác nhậngiao dịch Website sẽ chuyển giao dịch đến website hệ thống xử lý

- Khi công ty muốn đưa hàng của mình lên website thì phải đăng ký tài khoảnadmin và sẽ được phân quyền admin

- Khi quản lý công ty yêu cầu báo cáo tình hình hoạt động của website thì adminphải lập báo cáo và nộp cho công ty

2.3.1.2 Yêu cầu chức năng

- Website phải có đầy đủ các chức năng dành cho khách hàng và admin

- Các chức năng dành cho khách hàng : Đăng nhập, đăng ký, xem hàng, bình luận,đặt hàng, giỏ hàng, tìm kiếm sản phẩm, xem rau mới, xem rau bán chạy, quảngcáo, thống kê truy cập, lập báo cáo, liên hệ

- Các chức năng dành cho admin: Đăng nhập, chỉnh sửa sản phẩm, thêm sảnphẩm, xóa sản phẩm, chỉnh sửa kiểu sản phẩm, thêm kiểu sản phẩm, xóa kiểusản phẩm, thêm loại sản phẩm, sửa loại sản phẩm, xóa loại sản phẩm, thêm, xóa,sửa trang giới thiệu, trang tin tức, xem phản hồi, xóa phản hồi, trả lời phản hồi.Thông kê báo cáo đơn hàng

2.3.1.3 Yêu cầu phi chức năng

- Giao diện đẹp mắt, thân thiện với người dùng

Trang 40

- Đăng ký: Đăng ký tài khoản vào website Khách hàng điền các thôngtin cá nhân, thông tin về tài khoản vào chức năng đăng ký.

- Tùy chỉnh tài khoản: Xem thông tin tài khoản, sửa, xóa, cập nhật tàikhoản

- Xem hàng: Người xem có thể xem thông tin về rau như tên rau, loạirau, giá, xuất xứ, còn hàng hay hết, thông tin chi tiết về rau

- Bình luận: Người xem có thể bình luận về rau khi khách hàng đăngnhập

- Đặt hàng: Khách hàng nhấn nút mua hàng thì sản phẩm sẽ được hệthống cho vào giỏ hàng của khách hàng

Ngày đăng: 03/07/2017, 20:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w