Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến cáctính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra,
Trang 1MỤC LỤC
MỤC LỤC……….……2
LỜI CÁM ƠN……… ……… 3
CHƯƠNG 1: MỞ ĐẦU:……… ……… 4
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ………5
2.1 Tìm hiểu về PHP 5
2.1.1 Định nghĩa PHP 5
2.1.2 Lịch sử phát triển của PHP 6
2.1.3 Cách làm việc của PHP 7
2.1.4 Ưu điểm của PHP 7
2.1.5 Các tuỳ chọn của PHP 8
2.2 Tìm hiểu về MySQL 10
2.2.1 Giới thiệu về MySQL 10
2.2.2 Lý do chọn MySQL 11
2.3 Tìm hiểu về Apache HTTP Server 12
CHƯƠNG 3: PH ÂN T ÍCH V À THI ẾT K Ế H Ệ TH ỐNG ……… ……15
3.1 Mục đích của đề tài 15
3.2 Phân tích thiết kế hệ thống 15
3.2.1 Chức năng hoạt động của Website 15
3.2.2 Biểu đồ phân cấp chức năng 17
3.2.3 Biểu đồ luồng dữ liệu 22
3.3 Thiết kế cơ sở dữ liệu:……… 29
CHƯƠNG 4: THIẾT KẾ GIAO DIỆN 41
KẾT LUẬN 54
TÀI LIỆU THAM KHẢO 55
Trang 2LỜI CẢM ƠN
Công nghệ thông tin, đang là một trong những lĩnh vực phát triển nóngbỏng nhất của thế giới bây giờ Đối với chúng em là những sinh viên đang bắtđầu bước chân vào ngưỡng cửa ngành công nghệ thông tin một ngành khoahọc mới nhưng phát triển rất nhanh do đó chúng em cần có một nền tảng kiếnthức vững chắc, những phương pháp nghiên cứu hợp lí mới có thể theo kịpbước tiến của ngành
Đồ án này là một bài tập lớn mà em phải hoàn thành trong một kỳ học nhưng
nó là kết quả của quá trình tích lũy và vận dụng kiến thức mà em đã tiếp thu được trong suốt thời gian học tập Vì thế, đầu tiên em xin được gửi lời cảm ơnsâu sắc tới các thầy cô giáo trong hội đồng đã tận tình hướng dẫn để em có thểhoàn thành tốt đồ án này
Trang 3MỞ ĐẦU
Trong cuộc sống ngày càng phát triển, sự ra đời của Công nghệ thông tinnói chung và Internet nói riêng giữ một vai trò đặc biệt quan trọng Internet rađời thực sự là một cuộc cách mạng vĩ đại, nó đã mang lại cho chúng ta mộtkho kiến thức mà không một thư viện, một bộ bách thư toàn thư hay một hệthống thư viện nào khác có thể so sánh được Đặc biệt, Internet cũng là môitrường kinh doanh Nhanh - Rẻ - Hiệu quả nhất
Internet giúp cho mọi người thế giới thuận lợi khi tham gia vào mạng toàncầu, khi đó Internet giúp bạn cung cấp thông tin về công ty và sản phẩm đếnvói khách hàng và đối tác của bạn một cách dễ dàng ngay khi bạn ở bất cứđâu chỉ cần thông qua Website của chính doanh nghiệp mình
Do đó, việc xây dựng ra một Website mua bán sản phẩm trực tuyến thôngqua Internet đã không còn xa lạ với mọi người nữa Xuất phát từ ý tưởng trên,
em xin chọn đề tài: “Xây dựng website bán hàng điện thoại di động” làm đồ
án của mình
Nội dung của đồ án gồm 4 chương:
Chương 1: Mở đầu
Chương 2 : Giới thiệu ngôn ngữ thực hiện
Chương 3 : Phân tích và thiết kế hệ thống
Chương 4 : Thiết kế giao diện
Trong quá trình thực hiện, do còn nhiều hạn chế về trình độ cũng như thờigian thực hiện nên đồ án sẽ không tránh được nhiều sai sót Em rất mongđược sự chỉ bảo góp ý của thầy cô và các bạn
Em xin chân thành cảm ơn thầy cô giáo trong khoa Công nghệ Thông tin
đã giảng dạy em trong suốt quá trình học tập tại trường đã hướng dẫn giúp em
Trang 4CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ2.1 Tìm hiểu về PHP
Khi ai đã thiết kế những trang Web đều nhận thấy những hạn chế của ngônngữ HTML và những ngôn ngữ lập trình khác như CSS và Javascript Mặc dùnhững ngôn ngữ này vẫn duy trì những điểm cốt lõi để phát triển Web nhưngchức năng quan trọng nhất là xử lý văn bản và tạo hình bị giới hạn vì chúng ít
có khả năng quan trọng là xử lý văn bản và kết nối máy chủ nên kết quả đạtđược chỉ là một trang Web không hơn
Trên thực tế, khi thiết kế một Website chúng ta sẽ có nhiều ngôn ngữ đểlựa chọn, nhưng lựa chọn ngôn ngữ nào cho phù hợp và thuận lợi là cả mộtvấn đề Trong những ngôn ngữ gần đây, ngôn ngữ được các nhà phát triểnWeb ưa dùng và đánh giá cao là ngôn ngữ lập trình PHP
2.1.1 Định nghĩa PHP
PHP được phát triển từ ngôn ngữ kịch bản (script) với mục đích xây dựngtrang Web cá nhân (Personal Home Page) Sau đó đã được phát triển thànhmột ngôn ngữ hoàn chỉnh và được ưa chuộng trên toàn thế giới trong việcphát triển các ứng dụng Web based
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrình kịch bản hay, một loại mã lệnh chủ yếu được dùng để phát triển các ứngdụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rấtthích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưuhóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và 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ônngữ 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
Trang 5 Phiên bản tiếp theo, PHP3, được viết lại bởi một nhóm các lập trình viên (Zeev Suraski, Andi Gutmans) PHP3 được bổ sung thêm một
số tính năng và các cú pháp ngôn ngữ khác, đã trở thành ngôn ngữ kịch bản phía máy chủ được ưa chuộng nhất
Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến cáctính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn,
hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiềucách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cungcấp một vài các cấu trúc ngôn ngữ mới
PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồimới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ramột hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu vàthực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà pháttriển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nângcấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cảitiến mới trong SOAL, streams và SPL
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6bản sử dụng thử đã có thể được download tại địachỉhttp://snaps.php.net Phiên bản PHP 6 được kỳ vọng sẽ lấp đầynhững khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ
Trang 6vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việctruy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư việnPECL
2.1.3 Cách làm việc của PHP
PHP thường hoạt động theo thứ tự sau:
Người dùng gửi yêu cầu lên máy chủ
Máy chủ xử lý yêu cầu (Thông dịch mã PHP và chạy chương trình, mã PHP có thể truy xuất CSDL, tạo hình ảnh, đọc ghi file, tương tác với máy chủ khác )
Máy chủ gửi dữ liệu về cho người dùng (thường là dưới dạng HTML)
H 1 Cách làm việc của PHP
2.1.4 Ưu điểm của PHP
Khi sử dụng PHP, người dùng sẽ có được tốc độ nhanh hơn nhiều so
Trang 7mở, được hỗ trợ bởi nhiều lập trình viên giỏi, có số lượng ngườidùng đông đảo Ngoài ra PHP chạy được trên nhiều hệ điều hànhkhác nhau.
Rút ngắn thời gian phát triển
PHP cho phép bạn tách phần HTML code và phần script, do đó cóthể độc lập giữa công việc phát triển mã và thiết kế Điều này vừagiúp lập trình viên dễ dàng hơn vừa có thể làm cho chương trìnhmềm dẻo hơn trong việc thay đổi giao diện
2.1.5 Các tuỳ chọn của PHP
Giao thức HTTP (Hypertex Transfer Protocol) là công nghệ không lưu giữtrạng thái (các trang Web độc lập với nhau) Điều này có nghĩa là HTTPkhông có cách nào để theo dõi người dùng hoặc giữ lại các biến khi họ truy
Trang 8như PHP Có một số tuỳ chọn để áp dụng và hai tuỳ chọn phổ biến nhất làcookie và session.
Cookie
Trước khi cookie ra đời, việc lướt Web chỉ là một cuộc du lịch không ghinhận quá trình Mặc dù trình duyệt có ghi lại những trang Web đã truy cập,cho phép sử dụng phím Back để quay trở lại trang đã truy cập trước đó nhưngmáy chủ không lưu giữ thông tin về người truy cập Nếu máy chủ mà không
có khả năng theo dõi truy cập, ta không thể có được giỏ hàng trên mạng hoặctuỳ biến các Website theo ý mình được
Cookie là 1 đoạn dữ liệu được truyền đến browser từ server, đoạn dữ liệunày sẽ được browser lưu trữ (trong memory hoặc trên đĩa) và sẽ gởi ngược lênlại server mỗi khi browser tải 1 trang web từ server
Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vàowebsite trên server Mỗi website có thể lưu trữ những thông tin khác nhautrong cookie, ví dụ thời điểm lần cuối bạn ghé thăm website, đánh dấu bạn đãlogin hay chưa …
Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khácnhau (cho dù cùng host trên 1 server) sẽ có 2 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ủamình, cho nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookiekhác nhau
Session
Một trong những bổ xung cho PHP kể từ phiên bản 4 nó đã hỗ trợ session.Session là khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng Sessionbắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khingười sử dụng thoát khỏi ứng dụng Mỗi session sẽ có một định danh (ID), 1
Trang 9website sẽ quyết định khi nào session bắt đầu và kết thúc.Trong 1 session, website có thể lưu trữ một số thông tin như đánh dấu bạn đãlogin hay chưa, những bài viết nào bạn đã đọc qua, v.v
2.2 Tìm hiểu về MySQL
2.2.1 Giới thiệu về MySQL
MySQL là một hệ quản trị cơ sở dữ liệu cho trang Web và là hệ quản trị cơ
sở dữ liệu phổ biến nhất thế giới, một số người còn cho rằng đây là cơ sở dữliệu mã nguồn mở tốt nhất Thật vậy, từ khi phiên bản 4 bổ sung thêm một vàiđặc điểm mới thì MySQL đã trở thành đối thủ của những người khổng lồ đắtgiá như Oracle và SQL Server của Microsoft Giống như PHP, MySQL cómột khả năng thực thi hoàn hảo, rất linh hoạt, đáng tin cậy, dễ nắm bắt và ítmiễn phí
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thuỵ Điển
Nó là hệ thống cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì vậy,MySQL là một RDBMS) Cơ sở dữ liệu là một tập hợp các dữ liệu có liênquan với nhau, có thể là văn bản, số hoặc cá tập tin nhị phân được lưu trữ có
tổ chức bởi tổ chức DBMS
Có nhiều loại cơ sở dữ liệu, từ các tập tin đơn giản đến các tập tin quan hệhướng đối tượng Một cơ sở dữ liệu quan hệ sử dụng nhiều bảng để lưu trữthông tin trong những phần riêng biệt Trước 1970, cơ sở dữ liệu trông giốngnhư các bảng tính lớn, đơn giản và lưu trữ mọi thứ Các cơ sở dữ liệu quan hệđòi hỏi phải tập trung suy nghĩ nhiều hơn trong giai đoạn thiết kế và lập trình,nhưng chúng có độ tin cậy và tính toàn vẹn dữ liệu tốt hơn Ngoài ra, các cơ
sở dữ liệu quan hệ có thể thực hiện việc tìm kiếm và cho phép nhiều người sửdụng cùng một lúc
Trang 10Với việc kết hợp một cơ sở dữ liệu vào ứng dụng Web, nhiều dữ liệu doPHP sinh ra có thể được lấy ra từ MySQL Điều này sẽ chuyển nội dung củasite từ trạng thái tĩnh (mã hoá cứng) sang trạng thái động và độ linh hoạtchính là chìa khoá cho Website động.
H 2 Cách hoạt động của Web sử dụng PHP và MySQL
MySQL là một ứng dụng mã nguồn mở giống như PHP hoặc giống nhưmột vài biến thể của Unix… Nó được dùng miễn phí hoặc có thể sửa đổi (cóthể tải mã nguồn) Tuy nhiên, có trường hợp phải trả phí bản quyền MySQL,đặc biệt nếu bạn kiếm tiền từ việc buôn bán hoặc kết hợp với sản phẩmMySQL
2.2.2 Lý do chọn MySQL
Vừa túi tiền:
Hãy nghĩ bạn cài đặt Oracle Hãy chuận bị hầu bao của mình khoảng
Trang 11Oracle, Sybase và Informix là những Hệ Quản trị CSDL tuyệt vời, nhưng giáthành quá cao, không hợp túi tiền của phần đông mọi người.
MySQL hoàn toàn miễn phí Bạn có thể sử dụng mà không cần chuẩn bịbất ký khoản tiền nào
Nhanh và mạnh:
MySQL không có đầy đủ những cơ sở vật chất cho một Hệ Quản trị cơ sở
dữ liệu chinhs tông, nhưng đối với công việc thường nhật của phần đông mọingười thì nó cung cấp cũng khá nhiều thứ Nếu công việc của bạn là lưu trữ
dữ liệu trên Web hoặc làm một trang Thương mại Điện tử cỡ vừa thì MySQL
có đủ những thứ bạn cần
Đối với những cơ sở dữ liệu cỡ trung bình thì MySQL hỗ trợ tuyệt vời cả
về tốc độ Các nhà phát triển MySQL rất tự hào về tốc độ sản phẩm của họ
Cải tiến liên tục
MySQL được cải thiện liên tục với một tần số không ngờ Các nhà pháttriển cập nhật nó thường xuyên, ngoài ra còn bổ xung các tính năng ấn tượngcho nó mọi lúc mọi nơi
Hiện tại, MySQL đã được bổ sung thêm hỗ trợ transaction Như vậy làMySQL đã thực thụ trở thành một Hệ Quản trị cơ sở dữ liệu chuyên nghiệp
2.3 Tìm hiểu về Apache HTTP Server
Apache hay là chương trình máy chủ HTTP là một chương trình dành chomáy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hànhtương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hànhkhác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạngweb thế giới (tiếng Anh: World Wide Web)
Trang 12của Netscape Communications Corporation mà ngày nay được biết đến quatên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã khôngngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so vớicác chưong trình máy chủ khác về mặt hiệu suất và tính năng phong phú Từtháng 4 nãm 1996, Apache trở thành một chương trình máy chủ HTTP thôngdụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềmkhác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache chiếmđến 60% thị trường các chưong trình phân phối trang web (xem bài tiếngAnh )
Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới
sự bảo trợ củaApache Software Foundation Apache được phát hành với giấyphép Apache License và là một phần mềm tự do và miễn phí
Apache tận dụng được tính năng của thir-party Bởi vì đây là mã nguồn
mở nên bấy kỳ ai có khả năng đều có thể viết chương trình mở rộng với tínhnăng của Apache PHP hoạt động với tư cách là một phần mềm mở rộng củaApache, và người ta gọi là một module của Apache
Apache có tính ổn định và tốc độ đáng nói Tuy nhiên, cũng có một sựphàn nàn về nó là không hỗ trợ công cụ đồ hoạ trực quan, điều có thể giúpngười ta làm một việc cách dễ dàng hơn Bạn phải thực hiện các thay đổi vớiApache bằng cách sử dụng dòng lệnh, hoặc sử các tập tin text trong folderchương trình Apache Nếu lần đầu đến với Apache thì bạn sẽ gặp chút lạ lẫm
Mặc dù Apache chỉ làm việc tốt trên Unix, nhưng cũng có những phiênbản chạy tốt trên hệ điều hành Windows Không một ai, kể cả các nhà pháttriển Apache đề nghị rằng Apache nên chạy trên một server Windows bậnrộn Nếu bạn quyết định chọn hệ điều hành Windows cho server thì bạn nên
Trang 13upload và chạy trên Unix/Apache của nhà cung cấp host thì cũng không hềhấn gì, ứng dụng của bạn vẫn chạy tốt.
Trang 14Chương 3 : Phân tích và thiết kế hệ thống
3.1 Mục đích của đề tài
Xây dựng Website nhằm giới thiệu, tìm kiếm tra cứu thông tin về các sảnphẩm điện thoại di động tới khách hàng và mọi người quan tâm Từ đó, chophép họ có thể thực hiện giao dịch và đặt hàng trực tuyến Hệ thống sẽ sửdụng cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP và chạy trên nên máychủ Apache
Xây dựng Website bán hàng điện thoại di động với nhiều tính năng, xử lýthông tin nhanh chóng và chính xác, thực hiện giao dịch với khách hàng thủtục mua bán hàng qua mạng
3.2 Phân tích thiết kế hệ thống
3.2.1 Chức năng hoạt động của Website
Đối với Admin:
Là người làm chủ mọi ứng dụng, có mọi quyền hành trong việc điềukhiển hoạt động của hệ thống Người này sẽ có tên đăng nhập và mậtkhẩu để đăng nhập vào hệ thống và điều hành nó Các chức năng quản
lý như sau:
- Chức năng cập nhật thông tin(thêm mới, sửa, xóa) về sảnphẩm, tin tức, khách hàng Công việc này đòi hỏi phải có sựchính xác cao
- Tiếp nhận và kiểm tra đơn đặt hàng hay xóa bỏ đơn đặthàng
- Thống kê chung, thống kê các mặt hàng, loại sản phẩm vàdoanh thu, quản lý khách hàng, đơn hàng, sản phẩm, loạisản phẩm, nhà cung cấp, tin tức
Trang 15- Khách hàng có thể gửi yêu cầu đến hệ thống website
3.2.2 Biểu đồ phân cấp chức năng
Trang 16H 3.: Biểu đồ phân cấp chức năng của hệ thống
Website bán hàng điện thoại di động
Giao tiếp khách hàng
Trang 17H.4.: Biểu đồ phân rã chức năng “Quản lý sản phẩm”
Trang 18Hình 5: Biểu đồ phân rã chức năng “Quản lý tin tức”
H 6: Biểu đồ phân rã chức năng “Quản lý bán hàng”
Trang 19H.7: Biểu đồ phân rã chức năng “Quản lý khách hàng”
H.8: Biểu đồ phân rã chức năng “Tìm kiếm”
Trang 20H.9: Biểu đồ phân rã chức năng “Xem thông tin”
H.10: Biểu đồ phân rã chức năng “Mmua hàng”
H.11: Biểu đồ phân rã chức năng “Tìm kiếm”
Mua hàng
Đưa hàng vào
giỏ hàng
Sắp lại giỏ hàng Lập đơn hàng Thanh toán
Trang 213.2.3 Biểu đồ luồng dữ liệu
Kho dữ liệu: Là một dữ liệu đơn hay có cấu trúc được lưu giữ lại để
có thể truy cập nhiều lần về sau
Biểu diễn: Một kho dữ liệu được vẽ trong một BLD dưới dạng hai đoạnthẳng nằm ngang, kẹp giữa tên của kho dữ liệu
Tên chức năng Hoặc Tên chức năng
Trang 22 Các tác nhân ngoài(đối tác): Là một thực thể ngoài hệ thống, có traođổi thông tin với hệ thống.
Biểu diễn: tác nhân ngoài trong BLD được vẽ bằng một hình chữ nhật,bên trong có tên của tác nhân
Tác nhân trong: Một tác nhân trong là một chức năng hay một hệcon của hệ thống, được mô tả ở một trang khác của mô hình, nhưng
có trao đổi thông tin với các phần tử thuộc trang hiện tại của môhình
Biểu diễn: Tác nhân trong trong BLD được vẽ dưới dạng một hình chữnhật thiếu cạnh trên, trong đó viết tên tác nhân trong
Tên đối tác
Tên tác nhân trongKho dữ liệu
Trang 23H.12: Biểu đồ luồng dữ liệu mức khung cảnh của hệ thống
Tìm kiếm thông tin Cập nhật thông tin
Website bán điện thoại di động
Cập nhật thông tin Kết quả tìm kiếm Quản trị viên
Trang 24H.13: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng “Quản lý sản
phẩm/tin tức”
Cập nhật Thông tin cập nhật
Sửa Thông tin sửa
Sửa sản phẩm/tin tức Quản trị viên
Trang 25H.14: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng “Bán hàng”
Xác nhận đơn hàng
Nhận đơn hàng
Thực hiện bán hàng Xác nhận thành công
Trang 26Đơn hàng Thông tin mua hàng
Khách hàng
Thanh toán
Lập đơn hàng
Sắp lại giỏ hàng
Đơn hàng được chấp nhận
Đặt hàng
Đơn hàng Hóa đơn
Yêu cầu
Đưa hàng
vào giỏ
Sản phẩm