Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.01 MB, 57 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Đầu tiên, em xin gửi lời mời cảm ơn sâu sắc tới thầy Hồ Hữu linh, thầy đã nhiệt tình giúp đỡ và hướng dẫn em trong q trình thực hiện khóa luận này.
Em xin gửi đến quý thầy cô đang giảng dạy tại Trường Đại học Quảng Nam nói chung và thầy cơ trong Khoa Tốn - Tin nói riêng lời biết ơn chân thành, cảm ơn thầy cơ vì đã hết lịng truyền đạt cho em những kiến thức trong những năm tháng ngồi trên ghế nhà trường. Kính chúc quý thầy cô luôn mạnh khỏe, gặt hái được nhiều thành công trong sự nghiệp.
Dù đã cố gắng hết sức thực hiện đề tài nhưng cũng khó tránh khỏi thiếu sót, em rất mong nhận được sự góp ý của quý thầy cô, các anh chị và các bạn để khóa luận của em hồn thành tốt hơn.
Em xin chân thành cảm ơn!
Quảng Nam, tháng 5 năm 2022 Sinh viên thực hiện Souliphong Sitthixay
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>PHẦN A. MỞ ĐẦU 1. Lý do chọn đề tài </b>
Ngày nay internet đã trở nên thông dụng và không thể thiếu trong cuộc sống, gắn liền với sự phát triển của internet là hệ thống hàng triệu website. Website có một vai trị quan trọng trong việc đưu mọi người tiếp cận thông tin một cách nhanh nhất. Website là một nguồn thông tin phong phú, nó giúp rút ngắn khoảng cách mọi người trên toàn thế giới. Ngày nay website đã trở thành một phần không thể thiếu trong mọi lĩnh vực của đời sống. Nó được phát triển với nhiều dạng khác nhau, một trang chia sẻ thông tin, tin tức giúp mọi người có thể tiếp cận thơng tin một cách dễ dàng, một trang thương mại điện tử giúp mọi người có thể trao đổi mua hàng mà không cần ra khỏi nhà một trang quảng bá cơng ty giúp các doanh nghiệp có thể dễ dàng tiếp cận hàng triệu khách hàng với chi phí tối ưu nhất... Đến đây ta có thấy được tầm quan trọng của website nó gắn liền với sự phát triển của mỗi quốc gia.
Website chính là một sản phẩm tốt nhất của internet, mang đến lợi ích vơ cùng to lớn cũng như đem lại nhiều cơ hội cho chính những người sử dụng. Website mang lại cho người dùng những thông tin cần thiết, những vấn đề cần giải đáp trong cuộc sống đều có thể tìm được trên các trang web, trả lời mọi thắc mắc với tời gian nhanh chóng và hiệu quả. Không những thế, với sự phát triển của các mẫu web bán hàng trực tuyến cho phép người dùng internet tiếp cận được tất cả những sản phẩm của các doanh nghiệp trên toàn thế giới. Đối với doanh nghiệp website là nơi giới thiệu hình ảnh, thương hiệu sản phẩm của doanh nghiệp đến với người dùng. Website tạo lợi ích đa chiều từ người mua và người bán, giúp cho người mua có thể có được mọi thơng tin mình cần, tư vấn, đặt hàng và thanh toán trục tuyến, giúp cho mọi việc trở nên tự động
<b>hóa mà khơng phải trở nên q phức tạp. Với lí do đo, em đã chọn đề tài “ Xây dựng website Bán quần áo thể thao tại Lào” làm đề tài khóa luận tốt nghiệp. </b>
<b>2. Mục tiêu của đề tài </b>
- Khảo sát các trang web bán hàng trực tuyến như huyenanh.com.vn, andens.com, pro-biker.vn,.. từ đó áp dụng để xây dựng website bán quần áo thể thao tại Lào.
- Từ quá trình khảo sát, phân tích và đưa ra bảng các chức năng chính của hệ thống và phân tích chi tiết từng chức năng.
- Nắm bắt được công nghệ thiết kế web bằng các ngôn ngữ như: PHP, MYSQL, HTML, JQUERY, JAVASCRIPT, CSS,…
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>3. Đối tượng và phạm vi nghiên cứu 3.1. Đối tượng nghiên cứu </b>
- Đề tài chủ yếu tìm hiểu về các ngôn ngữ thiết kế web như HTML, CSS, PHP. Sử dụng công cụ Visual Studio Code để viết code.
- Hoạt động bán hàng, cập nhật hàng, cập nhật thông tin về hàng và thông tin khách hàng đặt mua hàng...
<b>3.2. Phạm vị nghiên cứu </b>
- Tìm hiểu về cơng cụ thiết kế web HTML, CSS, PHP, Visual Studio Code để từ đấy xây dựng Website bán quần áo thể thao tại Nước CHDCND Lào.
<b>4. Phương pháp nghiên cứu </b>
- Thu thập thông tin, dữ liệu.
- Tổng hợp dữ liệu, phân tích và đánh giá. - Phương pháp thực nghiệm.
<b>5. Lịch sử nghiên cứu </b>
- Đã có nhiều Website bán quần áo thể thao tuy nhiên qua khảo sát em thấy rằng với đặc điểm văn hóa của người Lào cần phải xây dựng một Website bán quần áo thể thể thao có nét đặc trưng của người Lào trong mua sắm.
<b>6. Đóng góp của đề tài </b>
- Giúp nhà quản lý dễ dàng hơn trong việc quản lý sản phẩm.
- Đỡ tốn nhiều thời gian cho người tiêu dùng cũng như nhà quản lý trong việc tham gia vào hoạt động mua bán hàng.
<b>7. Cấu trúc đề tài </b>
Nội dung khóa luận gồm các phần như sau: Phần 1: Mở đầu
Phần 2: Nội dung nghiên cứu. Gồm có 3 chương: Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế hệ thống Chương 3: Demo chương trình
Phần 3: Kết luận và kiến nghị Phần 4: Tài liệu tham khảo
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>PHẦN B. NỘI DỤNG NGHIÊN CỨU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Cài đặt xampp </b>
<b>1.1.1. XAMPP </b>
<b>1.1.1.1. Ý nghĩa chữ viết tắt XAMPP </b>
XAMPP hoạt động dựa trên sự tích hợp của 5 phần mềm chính là Code (X) Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềm này.
XAMPP là chương trình tạo web server được ứng dụng trên các hệ điều hành Linux, MacOS, Windows, Solaris.
Hình 1.1: Xampp
XAMPP là một chương trình tạo máy chủ web được sử dụng phổ biến nhất hiện nay.Ưu điểm lớn nhất của XAMPP là khơng phải trả phí bản quyền và sử dụng mã nguồn mở, bên cạnh đó cấu hình của web server này tương đối đơn giản, gọn nhẹ nên được sử dụng ngày càng phổ biến hiện nay.
<b>1.1.1.2. Thông tin cơ bản về XAMPP </b>
Hình 1.2: Thơng tin về xampp
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"> Nhà phân phối: XAMPP là phần mềm web server thuộc bản quyền của GNU General Public Licence. XAMPP do Apache Friends phân phối và phát triển.
Ngơn ngữ lập trình: XAMPP hình thành dựa trên sự tích hợp nhiều ngơn ngữ lập trình.
Các phiên bản: XAMPP ngày càng được nâng cấp và phát triển. Hiện nay phiên bản XAMPP mới nhất là phiên bản 7.2.11 phát hành năm 2018.
<b>1.1.1.3. Phần mềm được tích hợp với XAMPP </b>
Hình 1.3: Các phần mềm liên quan của xampp XAMPP hiện tích hợp 11 phần mềm chủ yếu
Phiên bản mới nhất XAMPP 7.2.11 tích hợp 11 phần mềm, bao gồm:
Tomcat 7.0.56 (with mod_proxy_ajp as connector)
Strawberry Perl 7.0.56 Portable
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>1.1.1.4. XAMPP được dùng làm gì? </b>
<b>Ứng dụng của XAMPP là gì? Phần mềm XAMPP là một loại ứng dụng phần </b>
mềm khá phổ biến và thường hay được các lập trình viên sử dụng để xây dựng và phát triển các dựa án website theo ngôn ngữ PHP. XAMPP được sử dụng cho mục đích nghiên cứu, phát triển website qua Localhost của máy tính cá nhân. XAMPP được ứng dụng trong nhiều lĩnh vực từ học tập đến nâng cấp, thử nghiệm Website của các lập trình viên. Để hiểu hơn về Localhost cũng như cách thức hoạt động của nó, mời bạn
<b>đọc xem bài: “ Localhost là gì? ” </b>
Localhost được ghép của 2 chữ “local” (máy tính của bạn) và “host” (máy chủ) là thuật ngữ chỉ máy chủ chạy trên máy tính cá nhân. Localhost cơ bản nó như một
<b>webserver bao gồm: Apache, MySQL, PHP và PHPmyadmin. Localhost dùng chính </b>ổ cứng máy tính để làm khơng gian lưu trữ và cài đặt trang web.
Trên thực tế, bạn không thể sử dụng XAMPP hay bất cứ phần mềm tại Web Server nào để đưa website vào vận hành kinh doanh.
<i><b>1.1.1.5. Ưu điểm và nhược điểm của XAMPP </b></i>
<b>A. Ưu điểm </b>
Các ưu điểm của XAMPP bao gồm:
● XAMPP có thể chạy được trên tất cả các hệ điều hành: Từ Cross-platform, Window, MacOS và Linux.
● XAMPP có cấu hình đơn giản cũng như nhiều chức năng hữu ích cho người dùng. Tiêu biểu gồm: giả lập Server, giả lập Mail Server, hỗ trợ SSL trên Localhost. ● Tích hợp nhiều tính năng: Apache; PHP tạo môi trường chạy các tập tin script *.php; MySQL hệ quản trị dữ liệu. Thay vì phải cài đặt từng thành phần này, chúng ta chỉ cần cài XAMPP là có ngay 1 web server hồn chỉnh.
● Mã nguồn mở: Không như Appserv, XAMPP có giao diện quản lý khá tiện lợi. Nhờ đó, người dùng có thể chủ độ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.
Bạn có thể tìm hiểu thêm về cách cài đặt Localhost trên AppServ qua bài viết: Localhost là gì? Cài đặt localhost bằng XAMPP, AppServ cực dễ.
<b>B. Nhược điểm </b>
Khơng được hỗ trợ cấu hình Module
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"> Dung lượng tương đối nặng, dung lượng file cài đặt là 141 Mb, nặng hơn nhiều so với WAMP 41 Mb.
Khơng có nhiều phiên bản cho các thành phần của server như PHP, Apache, MySQL như WAMP
Lỗi Xampp thường gặp là Apache không start được, gây bất tiện vì người dùng
<b>thường phải đi sửa lỗi Xampp không start. 1.1.1.6. Hướng dẫn cài đặt trên Windows </b>
Sau đây là hướng dẫn cài đặt Xampp trên Win 7, 8, 10… <small></small> Bước 1: Tải phần mềm Xampp về máy tính.
<small></small> Bước 2: Click vào file có đi .exe trong file tải xuống.
Đối với máy tính sử dụng Windows 7 sẽ thấy một cảnh báo về User Account Control (UAC), bấm OK để tiếp tục. Để tránh mắc phải lỗi cảnh báo này, bạn nên cài đặt thư mục ở một địa chỉ khác với C:\Program Files (x86) hoặc vơ hiệu hố UAC.
Hình 1.4: Cảnh báo User Account Control trên Win 7
Bước 3: Trên cửa sổ Setup, bạn lựa chọn các phần mềm mà bạn muốn cài đặt. Nếu bạn muốn cài WordPress trên Xampp, bạn phải chọn MySQL, Apache, PHPMyAdmin. Bấm Next để tiếp tục.
Bước 4: Chờ vài phút, sau khi cài đặt Xampp hoàn tất nhấn Finish là xong.
<b>1.1.1.7. Hướng dẫn cài đặt trên Linux </b>
Bước 1: Tải phần mềm Xampp cho Linux.
Bước 2: Chọn file xampp-linux-x64-7.2.8-0-installer.run trong file cài đặt. Sau đó, thêm quyền thực thi cho file cài đặt theo cú pháp.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>Bước 3: Trên cửa sổ Setup, tiếp tục nhấn Next khi các cửa sổ hiện ra. </b>
Bước 4: Chờ vài phút, sau khi cài Xampp xong thì nhấn Finish để kết thúc.
<b>1.1.1.8. Lưu ý trước khi cài đặt </b>
<i> Nếu dùng Skype: </i>
<b>Trong trường hợp máy tính của bạn đang cài Skype, bạn mở Skype -> Tools -> </b>
<i><b>Connection Options -> và bỏ chọn phần “Use port 80 and 443…..” rồi nhập chọn một </b></i>
cổng bất kỳ. Nếu không thực hiện thao tác này, XAMPP sẽ không thể chạy được do
<i>cổng mạng 80 đã bị Skype sử dụng. </i>
<i> Tắt tường lửa: </i>
Bên cạnh đó, bạn cũng nên tắt cài đặt tường lửa trên Windows, cũng như tất cả các phần mềm Antivirus khác, vì những phần mềm này có thể sẽ chặn cổng 80 hoặc các ứng dụng web server, khiến cho XAMPP không thể hoạt động.
Tắt UAC Windows:
Đặc biệt, người dùng cũng nên tắt User Account Control trên Windows trước đi cài đặt XAMPP để tránh bị giới hạn quyền truy cập.
<b>1.2. Tìm hiểu ngơn ngữ CSS, JavaScript, jQuery, MYSQL và PHP 1.2.1. CSS </b>
CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML). Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web. Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trị định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"> Giải quyết một vấn đề lớn
Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử, đường viền và kích thước phải được lặp lại trên mọi trang web. Đây là một quá trình rất dài tốn thời gian và cơng sức. Ví dụ: Nếu bạn đang phát triển một trang web lớn nơi phông chữ và thông tin màu được thêm vào mỗi trang, nó sẽ trở thành một q trình dài và tốn kém. CSS đã được tạo ra để giải quyết vấn đề này. Đó là một khuyến cáo của W3C.
Nhờ CSS mà source code của trang Web sẽ được tổ chức gọn gàng hơn, trật tự hơn. Nội dung trang web sẽ được tách bạch hơn trong việc định dạng hiển thị. Từ đó, q trình cập nhập nội dung sẽ dễ dàng hơn và có thể hạn chế tối thiểu làm rối cho mã HTML.
Tiết kiệm rất nhiều thời gian
Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngồi vì vậy có thể thay đổi tồn bộ trang web bằng cách thay đổi chỉ một tệp. Sử dụng CSS sẽ giúp bạn không cần thực hiện lặp lại các mô tả cho từng thành phần. Từ đó, bạn có thể tiết kiệm được tối đa thời gian làm việc với nó, làm code ngắn lại giúp kiểm sốt dễ dàng hơn các lỗi khơng đáng có.CSS tạo ra nhiều style khác nhau nên có thể được áp dụng với nhiều trang web, từ đó giảm tránh việc lặp lại các định dạng của các trang web giống nhau.
Cung cấp thêm các thuộc tính
CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web. CSS giúp người dùng nhiều styles trên một trang web HTML nên khả năng điều chỉnh trang của bạn trở nên vơ hạn.
<b>1.2.3. Tìm hiểu JavaScript </b>
<b>1.2.3.1. Ứng dụng của JavaScript </b>
Hiện nay, JavaScript được đánh giá cao bởi là trình thơng dịch ngơn ngữ lập trình chính thức được nhúng bên trong trình duyệt web. Chính vì vậy, lập trình viên có thể thực hiện được tất cả mọi thao tác mà ngôn ngữ này cho phép như sau:
<small></small> Thực hiện khai báo biến.
<small></small> Tiến hành lưu trữ và truy xuất cho các giá trị. <small></small> Có thể xác định các lớp.
<small></small> Thực hiện tải và sử dụng những mô-đun ở bên ngoài. <small></small> Thực hiện xác định và gọi cho các hàm.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><small></small> Tiến hành viết trình xử lý cho các sự kiện để có thể đáp ứng với tất cả người dùng và những sự kiện khác.
<small></small> Tiến hành thêm bớt các tính tương tác khác vào cho trang web. <small></small> Thực hiện tạo cho các trị chơi dựa vào trình duyệt web.
<small></small> Thực hiện phát triển cho những ứng dụng di động có nhu cầu. <small></small> Hỗ trợ, thực hiện phát triển web.
Những một trong những lý do hàng đầu giúp cho JavaScript dần trở thành loại ngơn ngữ lập trình phổ biến nhất trên thế giới đó là vì:
<small></small> Nó có thể cung cấp tích hợp siêu đầy đủ với HTML / CSS.
<small></small> Nó có khả năng hỗ trợ được mọi trình duyệt chính và có khả năng được bật
<small></small> JavaScript không được sử dụng để kết nối mạng giữa các ứng dụng với nhau bởi chúng không tồn tại những hỗ trợ có sẵn.
<small></small> Một điểm bất lợi nữa có thể dễ dàng nhận ra được đó là Javascript khơng có khả năng đa luồng và đa xử lý nào cả. Tuy nhiên đây vẫn thực sự là ngơn ngữ lập trình rất đáng để sử dụng.
<b>1.2.4. Tìm hiểu ngơn ngữ Jquery 1.2.4.1. JQuery </b>
JQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng bằng Javascript dễ dàng, nhanh và giàu tính năng hơn.
jQuery được tích hợp nhiều module khác nhau. Từ module hiệu ứng cho đến module truy vấn selector. jQuery được sử dụng đến 99% trên tổng số website trên thế giới.
Vậy các module chính của jQuery là gì? Các module phổ biến của jQuery bao gồm: <small></small> <b>Ajax – xử lý Ajax </b>
<small></small> <b>Atributes – Xử lý các thuộc tính của đối tượng HTML </b>
<small></small> <b>Effect – xử lý hiệu ứng </b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small></small> Event – xử lý sự kiện
<small></small> Form – xử lý sự kiện liên quan tới form <small></small> <b>DOM – xử lý Data Object Model </b>
<small></small> <b>Selector – xử lý luồng lách giữa các đối tượng HTML </b>
Hình 1.5: JQuery là một thư viện javascript, giúp đơn giản hóa việc lập trình javascript jQuery khơng phải là một ngơn ngữ lập trình riêng biệt mà hoạt động liên kết với JavaScript. Với jQuery, bạn có thể làm được nhiều việc hơn mà lại tốn ít cơng sức hơn. jQuery cung cấp các API giúp việc duyệt tài liệu HTML, hoạt ảnh, xử lý sự kiện và thao tác AJAX đơn giản hơn. jQuery hoạt động tốt trên nhiều loại trình duyệt khác nhau. Một trong những đối thủ nặng ký của jQuery đó là JS Framework.
<b>1.2.4.2. Ưu điểm của jQuery </b>
Ưu điểm của jQuery thì vừa quan trọng vừa đáng giá:
jQuery xử lý code rất nhanh và có khả năng mở rộng.
jQuery tạo điều kiện cho người dùng viết các mã chức năng bằng các dòng tối thiểu.
jQuery cải thiện hiệu suất lập trình web.
jQuery phát triển các ứng dụng có tương thích với trình duyệt.
Hầu hết các tính năng mới của trình duyệt mới đều được jQuery sử dụng.
<b>1.2.5. Tìm hiểu ngôn ngữ MYSQL 1.2.5.1 Giới thiệu cơ sở dữ liệu </b>
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theo www. mysql. com) và được sử dụng phối hợp với PHP. Trước khi làm việc với MySQL cần xác định các nhu cầu cho ứng dụng.
MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phép người sử dụng có thể thao tác các hành động liên quan đến nó. Việc tìm hiểu từng công nghệ
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan trọng.
<b>1.2.5.2. Mục đích sử dụng cơ sở dữ liệu </b>
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lý (manipulation).
● Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữ liệu nhỏ như:Microsoft Excel, Microsoft Access, MySQL, Microsoft Visual FoxPro,... Nếu ứng dụng có quy mơ lớn, bạn có thể chọn cơ sở dữ liệu có quy mơ lớn như :Oracle, SQL Server,...
● Truy cập:Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng, ở mức độ mang tính cục bộ, truy cập cơ sở dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lý dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle....
● Tổ chức:Tổ chức cơ sở dữ liệu phụ thuộc vào mo hình cơ sở dữ liệu, phân tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng. Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải 20 tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nhằm tăng tính tối ưu khi truy cập và xử lý.
● Xử lý:Tùy vào nhu cầu tính tốn và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu. Để thao tác hay xử lý.
<b>1.2.6. Tìm hiểu ngơn ngữ PHP 1.2.6.1. Khái niệm về PHP </b>
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra nă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:Hypertext Preprocessor”.
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">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ột cơng nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (crossplatform). Đây là hai yếu tố rất quan trọng, thứ nhất khi nói cơng nghệ phía máy chủ 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ính chấ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ều hành như Windows, Unix và nhiều biến thể của nó... Đặc biệt các mã kịch bản PHP viế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ần phả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 q trình xử lý thơng tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML.
Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau
<b>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ới 1.2.6.2. Tại sao nên dùng PHP </b>
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giả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 ln có ý thức cả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ác lậ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ột cách xuất sắc.
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất,
<b>vậy mà bây giờ PHP đã bắt kịp ASP. 1.2.6.3. Giới thiệu về ngơn ngữ PHP </b>
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áy chủ để phục vụ các trang Web theo u cầu của người dùng thơng qua trình duyệt.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Hình 1.6: Sơ đồ hoạt động
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ửi mộ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 trang HTML 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 trang PHP, 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ủa chúng trong file PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nội dung HTML
<b>về cho trình duyệt. </b>
<b>1.2.6.4. Các loại thẻ PHP </b>
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.
<i><?php echo “Well come to PHP.”; ?> </i>
<i><? Php echo “Well come to PHP with XML”; ?> </i>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">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ỉ
<b>thể hiện dưới dạng một khoảng trắng đơn). 1.2.6.5. Các kiểu dữ liệu </b>
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.
Số nguyên: Được khai báo và sử dụng giá trị giống với C.
<b>+ Mảng một chiều: Có thể dùng hàm List() hoặc Array(). Có thể dùng các hàm aort(), </b>
ksort(), sort(), uaort(),... để sắp xếp mảng, tùy thuộc vào việc bạn định sắp xếp theo kiểu gì..
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">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.
Một số biến đã được khai báo sẵn:
HTTP_GET_VARS: Mảng các giá trị nguyên truyền tới script thông qua
<i>phương thức HTTP GET. Chỉ có tác dụng nếu “track_vars” . Trong cấu hình được đặt </i>
hoặc chỉ dẫn <? Php_track_vars?>.
HTTP_POST_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thức HTTP POST.
HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới script hiện tại
<i>bằng HTTP cookie. Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc </i>
chỉ dẫn <?php_track_vars?>...
Phạm vi giá trị:
PHP coi một biến có một giới hạn. Để xác định một biến toàn cục (global) có tác dụng trong một hàm ta cần khai báo lại. Nếu khơng có giá trị của biến sẽ được coi như là cục bộ trong hàm.
Khi có khai báo global, $a và $b được biết đó là những biến tồn cục. Nếu khơng có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum().
Tên biến Một biến có thể gắn với một cái tên
<b>1.2.6.7. Các giá bên ngoài phạm vi PHP </b>
HTML Form: Khi 1 giá trị gắn với 1 file php qua phương thức POST Ví dụ:
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><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. 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
<b>từ 2 mảng toàn cục $HTTP_POST_VARS và $HTTP_GET_VARS. 1.2.6.8. Các cấu trúc lệnh </b>
Các lệnh điều kiện và toán tử:
Mỗi câu lệnh điều kiện bao gồm một mệnh đề if:
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>1.2.6.9. Các toán tử </b>
Các phép số học: +, -, *, /%
Các toán tử logic: And, or, xor: &&, ||, ! Tốn tử thao tác với bít: &, |, ^, ~, <<, >> Toán tử so sánh: ==, !=, <, >, <=, >=, ===
Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ bị bỏ qua và lưu trong $PHP_errormsg.
Toán tử thực thi: “PHP sẽ thực hiện nội dung nằm giữa 2 dấu” như 1 lệnh shell.
<b>Trả ra giá trị là kết quả thực hiện lệnh. </b>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Khảo sát hiện trạng </b>
Cửa hàng kinh doanh về phẩn phối quần áo thể thao, bên cạnh việc bán các sản phẩm ra thị trường, cửa hàng cũng cần phải lưu tâm đến các vấn đề khác như kiểm tra số lượng hàng tồn, phân loại sản phẩm, lưu các hóa đơn... Đối với mỗi danh mục sản phẩm thì bao gồm nhiều sản phẩm khác nhau và mỗi một sản phẩm chỉ thuộc danh mục sản phẩm duy nhất. Đơn đặt hàng có thể có nhiều sản phẩm và sản phẩm có thể có trong nhiều đơn đặt hàng. Khách hàng đến mua tại cửa hàng có thể chọn lựa nhiều mặt hàng, nhân viên từ vấn khi khách hàng có nhu cầu tìm kiếm theo u cầu nào đó (như màu sắc, kích thước...) hay một sản phẩm cụ thể nào đó.
Dựa vào đó, mỗi lần khách hàng thanh tốn hóa đơn mua hàng, căn cứ vào các loại mặt hàng hiện đang kinh doanh tại cửa hàng, chủ cửa hàng tiến hành kiểm tra số lượng hàng tồn, thanh tốn hóa đơn và cần lưu lại những đơn mua hàng bao gồm: Số hóa đơn, ngày nhập, tên khách hàng, tổng tiến hóa đơn. Những thơng tin chỉ tiết hóa đơn như: Số hóa đơn, số sản phẩm, số lượng và tiền phải trả để lưu trữ lại khi cần.
Sau đó, cửa hàng phải liên tục cập nhật lại thông tin cho sản phẩm để kiểm sốt số lượng sản phẩm cịn lại hoặc sản phẩm mới nhập thêm. Chủ cửa hàng sẽ dựa vào số sản phẩm, tên sản phẩm để tìm kiếm thơng tin sản phẩm lúc cập nhật sản phẩm, nếu là sản phẩm mới thì sẽ tạo mới loại sản phẩm này. Các danh mục sản phẩm gồm có: Số danh mục sản phẩm, tên danh mục sản phẩm, mô tả.
Bên cạnh việc lưu lại thông tin sản phẩm và đơn hàng của cửa hàng. Ta cũng cần lưu lại một số thông tin cần thiết của khách hàng và nhà cung cấp của cửa hàng như: Họ tên khách hàng/nhà cung cấp, số đien thoại, địa chi,... để tiện cho việc quản lý cửa hàng hiệu quả hơn. Với khách hàng mua hàng thường xuyên có thể có các ưu đại hoặc được tặng thẻ vip, nên có thể lưu thêm các thông tin khác như ngày sinh,..
Ngoài ra, cung cấp email, số điện thoại... để khách hàng có thể liên hệ khi cần thiết như phản hồi chất lượng sản phẩm, thông báo sản phẩm có vẫn đề. Cửa hàng cũng lưu lại nhưng thơng tin đó, để kiểm kê kho, tiến hành đổi - trả với nhà cung cấp hay thông báo với nhà cung cấp về vấn đề sản phẩm, tính doanh thu của cửa hàng,...
<b>2.2 Phân tích thiết kế hệ thống 2.2.1. Tác nhân khách hàng </b>
- Đăng nhập, đăng xuất
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">- Tìm kiếm, xem, bình luận sản phẩm - Mua hàng
- Xem, sửa, xóa thơng tin giỏ hàng - Thanh tốn
<b>2.2.2. Tác nhân người quản trị </b>
Ngồi kế thừa các chức năng của khách hàng thì quản trị viên cịn có thêm những chức năng là : quản lý tài khoản, quản lý sản phẩm (thêm, sửa, xóa), quản lý hóa đơn,...
<b>2.2.3. Biểu đồ ca sử dụng </b>
<b> Biểu đồ use case mức tổng quát </b>
Hình 2.1: Biểu đồ use case mức tổng quát
<b> Biểu đồ use case đăng ký, đăng nhập </b>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Hình 2.2: Biểu đồ use case đăng ký, đăng nhập
<b> Biểu đồ use case xem sản phẩm </b>
Hình 2.3: Biểu đồ use case xem sản phẩm
<b> Biểu đồ use case tìm kiếm sản phẩm </b>
Hình 2.4: Biểu đồ use case tìm kiếm sản phẩm
<b> Biểu đồ use case xem giỏ hàng </b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">Hình 2.5: Biểu đồ use case xem giỏ hàng
<b> Biểu đồ use case thanh tốn </b>
Hình 2.6: Biểu đồ use case thanh toán
<b> Biểu đồ use case quản lý tài khoản </b>
<b>Hình 2.7: Biểu đồ use case quản lý tài khoản Biểu đồ use case quản lý danh mục sản phẩm </b>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Hình 2.8: Biểu đồ use case quản lý danh mục sản phẩm
<b> Biểu đồ use case quản lý sản phẩm </b>
Hình 2.9: Biểu đồ use case quản lý sản phẩm
<b> Biểu đồ use case quản lý loại sản phẩm </b>
Hình 2.10: Biểu đồ use case quản lý loại sản phẩm
<b> Biểu đồ use case quản lý khuyến mãi </b>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">Hình 2.11: Biểu đồ use case quản lý khuyến mãi
<b> Biểu đồ use case quản lý xét duyệt hóa đơn </b>
Hình 2.12: Biểu đồ use case quản lý xét duyệt hóa đơn
<b>2.2.4. Đặc tả các use case </b>
<b>Đặc tả use case đăng ký </b>
Mô tả Cho phép khách xem đăng ký làm thành viên của hệ thớng.
Tiền điều kiện
L̀ng sự kiện chính 1. Khách xem chọn mục đăng ký thành viên 2. Form đăng ký thành viên hiển thị
3. Khách xem nhập thông tin cá nhân cần thiết vào đăng ký 4. Nhấ n nú t Đăng ký
5. Hệ thống thông báo đăng ký thành công. Nếu thông tin nhập không chính xác thì thực hiện luồng nhánh A1 Nếu
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">nhập chính xác thì thực hiện l̀ng nhánh A5
6. Hệ thống cập nhật thông tin của khách xem vào danh sách thành viên
7. Use case kết thúc.
Hậu điều kiện Khách hàng trở thành thành viên của hệ thống.
<b>Đặc tả use case đăng nhập </b>
Mô tả Use case cho phép thành viên đăng nhập vào hệ thống. Tiền điều kiện Thành viên chưa đăng nhập vào hệ thống
L̀ng sự kiện chính 1. Thành viên chọn chức năng đăng nhập 2. Form đăng nhập hiển thị
3. Nhập tên, mật khẩu vào đăng nhập 4. Nhấ n nú t đăng nhập
5. Hệ thống kiểm tra tên, mật khẩu của thành viên
6. Nếu việc đăng nhập thành cơng thì hệ thớng thông báo đã đăng nhập thành công. Nếu thành viên nhập sai tên, mật khẩu thì chuyển sang luồng nhánh A1
7. Use case kết thúc
Hậu điều kiện Thành viên đã đăng nhập thành cơng và có thể sử dụng các chức năng mà hệ thống cung cấp.
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26"> <b>Đặc tả use case xem thông tin cá nhân </b>
Tác nhân Thành viên củ a hệ thống, bao gồm: người quản lý, nhân viên, khách hàng đã đăng ký thành viên
Mô tả Use case cho phép thành viên củ a hệ thống xem các thông tin cá nhân.
Tiền điều kiện Thành viên đã đăng nhập vào hệ thớng
L̀ng sự kiện chính 1. Thành viên chọn mục xem thông tin cá nhân
2. Form xem thông tin thành viên xuấ t hiện, hệ thống hiển thị thông tin cá nhân của thành viên
3. Hệ thống cung cấp liên kết để thành viên có thể sửa đổi thông tin cá nhân
4. Use case kết thúc
<b>Đặc tả use case sửa thông tin cá nhân </b>
Tác nhân Thành viên củ a hệ thống
Mô tả Use case cho phép thành viên thay đổi các thông tin đăng ký.
Tiền điều kiện Thành viên phải đăng nhập vào hệ thớng
L̀ng sự kiện chính 1. Thành viên chọn chức năng thông tin cá nhân
2. Hệ thống hiển thị sửa thông tin với các thông tin cũ của thành viên hiện ta ̣i
3. Thành viên nhập các thông tin mới 4. Nhấ n nú t lưu thông tin
5. Nếu việc cập nhật thành cơng thì thực hiện bước 6. Nếu sai thực hiện luồng sự kiện rẽ nhánh A1
6. Cập nhật thành công 7. Use case kết thú c
Hậu điều kiện Thông tin thành viên được lưu vào hệ thống.
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"> <b>Đặc tả use case đổi mật khẩu </b>
Tác nhân Thành viên củ a hệ thống
Mô tả Use case cho phép thành viên thay đổi mật khẩu. Tiền điều kiện Thành viên phải đăng nhập vào hệ thớng
L̀ng sự kiện chính 1. Thành viên chọn chức năng đổi mật khẩu 2. Hệ thống hiển thị đổi mật khẩu hiện ta ̣i 3. Thành viên nhập mật khẩu hiện tại 4. Thành viên nhập mật khẩu mới
5. Thành viên xác nhận lại mật khẩu mới 6. Nhấ n nú t đổi mật khẩu
7. Nếu việc đổi mật khẩu thành cơng thì hệ thớng thơng báo đã cập nhật tài khoản thành công. Nếu thành viên nhập mật khẩu sai hệ thống sẽ thông báo mật khẩu mới không trùng nhau
8. Nếu sai thực hiện luồng sự kiện rẽ nhánh A2 9. Use case kết thú c
Hậu điều kiện Thông tin thành viên được lưu vào hệ thống.
<b>Đặc tả use case xem thông tin sản phẩm </b>
Tác nhân Người quản lý, nhân viên, khách hàng
Mô tả Cho phép người quản lý, nhân viên, khách hàng xem thông tin về các sản phẩm có trong cửa hàng.
Tiền điều kiện
L̀ng sự kiện chính 1. Người quản lý, nhân viên, khách hàng cho ̣n sản phẩm cần xem
2. Hệ thống hiển thị thông tin về sản phẩm đã cho ̣n
3. Người quản lý, nhân viên, khách hàng xem thông tin chi tiết về sản phẩm được hiển thị
4. Nếu muốn thêm vào giỏ hàng nhấn chọn mua. Nếu khơng thốt ra
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">5. Nếu muốn xem giỏ hàng nhấn giỏ hàng. Nếu khơng thốt ra
6. Use case kết thúc
<b>Đặc tả use case tìm kiếm sản phẩm </b>
Tác nhân Người quản lý, nhân viên, khách hàng
Mô tả Cho phép người quản lý, nhân viên, khách hàng tìm kiếm các sản phẩm có trong cửa hàng.
Tiền điều kiện
L̀ng sự kiện chính 1. Người quản lý, nhân viên, khách hàng cho ̣n tìm kiếm sản
<b>Đặc tả use case thêm sản phẩm vào giỏ hàng </b>
Mô tả Use case cho phép khách hàng đưa sản phẩm đã cho ̣n vào giỏ hàng.
Tiền điều kiện Sản phẩm đã được cho ̣n
L̀ng sự kiện chính 1. Chọn chức năng thêm vào giỏ hàng để đưa sản phẩm đã chọn vào lưu trữ trong giỏ hàng. Nếu chưa cho ̣n sản phẩm mà nhấ n nú t thêm vào giỏ hàng thì thực hiện l̀ng sự kiện rẽ nhánh A1
2. Hệ thống hiển thị thông tin sản phẩm đưa vào giỏ hàng 3. Use case kết thúc
Hậu điều kiện Thông tin sản phẩm đã đưa vào giỏ hàng phải được lưu trữ.
</div>