CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI 1.1 Ngôn ngữ lập trình PHP [6] 1.1 Khái niệm 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. PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL. Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server.) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.2 Cấu trúc của một trang php Trang PHP đơn giản là một trang văn bản với phần mở rộng là .php, gồm có 3 phần: Văn bản (text) HTML (Hypertext Markup Language) là ngôn ngữ định dạng văn bản siêu liên kết. Sự định dạng dựa trên các Tag hoặc các đoạn mã đặc biệt để đánh dấu một văn bản, một file ảnh,…giúp cho web Browser thông dịch và hiển thị chúng lên màn hình của bạn. HTML có những phần mở rộng rất quan trọng cho phép những liên kết Hypertext từ một tài liệu này đến một tài liệu khác(có thể là một đoạn text, cũng có thể là một văn bản,…). Cấu trúc cơ bản của một file HTML như sau: <HTML> Trang 4 <HEAD> <TITLE></TITLE> </HEAD> <BODY> <HI>Tiêu đề</HI> ….
</BODY> </HTML> Theo cấu trúc một file HTML chia thành hai phần cơ bản: - Phần đầu: Được tạo bởi Tag <head>, </head>: tại đây định nghĩa trên tiêu đề của trang web. Phần này được hiển thị trên thanh tiêu đề của trang web được khai báo giữa hai Tag <Title>, </Title>. - Phần thân: Được khai báo bởi Tag <Body>, </Body>: Trình bày nội dung thể hiện trên trang web. Các nội dung cần hiển thị hoặc xử lý trên trang web sẽ được định nghĩa trong phần Body của HTML.
Để cho các trang web được sinh động hơn ngôn ngữ HTML còn bao gồm rất nhiều Tag dùng cho việc định trang, liên kết các trang với nhau, chèn hình ảnh vào trang…HTML quy định cú pháp không phân biệt chữ hoa và chữ thường và không có khoản trắng trong định nghĩa tên thẻ. Các đoạn script PHP <HTML> <HEAD> <TITLE>Hi</TITLE> </HEAD> <BODY> <?PHP echo ”Giới thiệu PHP”; ?> </BODY> </HTML> Trang 5 Như vậy phần mã PHP được đặt trong thẻ <?php và thẻ đóng ?>. Ta cũng có thể thấy rằng một trang PHP cũng chính là một trang HTML có nhúng mã PHP ở bên trong, có phần mở rộng là. Khi thêm một đoạn script vào HTML, PHP dùng dấu chấm phân cách để phân biệt giữa đoạn HTML và đoạn PHP.3 Hoạt động của PHP 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ên dưới.1: Hoạt động của PHP 1.2 Hệ quản trị cơ sở dữ liệu MYSQL [6] 1.1 Khái niệm 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 định và dễ sử dụng, có tính khả chuyển, 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ính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác Trang 6 nhau: phiên bản Win32 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ệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việ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 tin trên các trang web viết bằng PHP hay Perl,… 1.2 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. 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 khỏan có quyền sử dụng CSDL đó.
Nếu không, chúng ta sẽ không làm được gì cả giống như quyền chứng thực người dung trong SQL Server vậy. Tốc độ: MySQL rất nhanh. Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà bạn có thể có. Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn.
Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức. Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại. Bạn cũng có thể truy cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (Open Database Connectivity -một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft). Trang 7 Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian.
Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời. Bạn có thể truy cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web… Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẽ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào. Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thể nhìn được. Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chẳng hạn như Windows hay OS/2.
MySQL chạy được các với mọi phần cứng từ các máy PC ở nhà cho đến các máy server. Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt web của bạn. Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán, bạn có thể lấy mã nguồn và tìm tòi nó. Nếu bạn không thích một vài cái, bạn có thể thay đổi nó.
Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ. Cộng đồng MySQL rất có trách nhiệm. Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút. Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục đó sẽ ngay lập tức có sẵn trên Internet.3 Hướng dẫn cài đặt Xampp Bước1: Tải XAMPP tại https://www.org/download và tiến hành cài đặt như các chương trình thông thường.
Trang 8 Bước 2: Sau khi tải file cài đặt về xong, hãy chạy nó, sau đó chọn Next.2: Hướng dẫn cài đặt Xampp Ở phần chọn đường dẫn, bạn hãy chọn đường dẫn cần lưu cài đặt của XAMPP. Lưu ý rằng đường dẫn này bạn phải nhớ vì khi cài đặt web lên localhost, bạn phải truy cập vào thư mục này. Bạn nên để mặc định là c:\xampp. Tiếp tục ấn Next.
Ở trang kế tiếp, bạn bỏ chọn phần “Learn more about Bitnami for XAMPP“. Và ấn Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP.3: Hướng dẫn cài đặt Xampp Sau khi cài xong, ấn nút Finish để kết thúc cài đặt và mở bảng điều khiển của XAMPP. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng không khởi động được localhost. Trang 9 Start Apache và MySQL trong XAMPP control panel Hình 1.4: Hướng dẫn cài đặt Xampp Sau khi khởi động xong, bạn hãy truy cập vào website với địa chỉ là http://localhost sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới.5: Giao diện Xampp Trang 10 1.4 Tạo cơ sở dữ liệu MySQL với Xampp Khi nhắc đến database, bạn phải nhớ là nó bao gồm 3 thành phần chính là: Tên user của database.
Mật khẩu của user database.Đối với localhost, chúng ta không cần tạo user cho database mà sẽ sử dụng thông tin user như sau: Tên user database: root Mật khẩu: bỏ trống Để tạo database, chúng ta hãy truy cập vào localhost với đường dẫn http://localhost/phpmyadmin. Sau đó bạn nhấp vào menu Databases.6: Hướng dẫn tạo cơ sở dữ liệu với Xampp Sau đó ở phần Create databsae, bạn nhập tên database cần tạo vào ô Database name, phần Collation bạn hãy chọn là utf8_unicode_ci như hình dưới rồi ấn nút Create kế bên.7: Tạo cơ sở dữ liệu với Xampp Trang 11 Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành công. Vậy bây giờ, chúng ta tạm có một databse với các thông tin như: Database Host: localhost Database user: root Database password: trống Database name: QuanLyBanHang Ví dụ: Vào thư mục XAMPP/htdocs và tạo file test.php với nội dung như sau: 1. Echo “Hello World”; 3.
?> Gõ trên trình duyệt địa chỉ localhost/test. Nếu hiện ra dòng chữ Hello World nghĩa là ứng dụng PHP đầu tiên đã chạy thành công.8: Kết quả chạy code PHP.1 Khái niệm CodeIgniter là một trong những PHP framework phổ biến nhất trong những năm trở lại đây. Nó được xây dựng với tiêu chí: phát triển ứng dụng nhanh, đơn giản và sáng sủa. Phiên bản chính thức đầu tiên của CodeIgniter được công bố ngày 28/02/2006, cho đến nay phiên bản hiện tại là V 2.
CodeIgniter cũng như nhiều PHP framework khác, sử dụng mô hình MVC.2 Tính năng và ưu điểm - Hỗ trợ nhiều nền tảng CSDL. - Định dạng/chuẩn hóa form và dữ liệu đầu vào. Trang 12 - Cache page: cải thiện tốc độ và giảm tải cho máy chủ. - Source code gọn nhẹ, tốc độ thực thi nhanh.