Tải bản đầy đủ (.pdf) (95 trang)

Giáo trình Phát triển ứng dụng web: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh

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.45 MB, 95 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH
KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG & CƠNG NGHỆ PHẦN MỀM

GIÁO TRÌNH

PHÁT TRIỂN ỨNG DỤNG WEB
DÙNG CHO TRÌNH ĐỘ ĐẠI HỌC
BÀI GIẢNG

PHÁT TRIỂN ỨNG DỤNG WEB

QUẢNG NINH - 2019


MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU .......................................................................................... 7
1.1. Giới thiệu cơ bản ............................................................................................... 7
1.2. Website động là gì? ........................................................................................... 7
1.3. PHP là gì?.......................................................................................................... 7
1.4. Tại sao cần dùng PHP? ...................................................................................... 8
1.5. Cách làm việc của PHP...................................................................................... 8
1.6. MySQL là gì? .................................................................................................... 9
1.7. Bạn cần những gì để xây dựng một Website viết bằng PHP & MySQL ........... 10
1.8. Ứng dụng máy chủ Web Server WAMP làm môi trường để xây dựng Website
viết bằng PHP & MySQL ....................................................................................... 10
1.8.1. WAMP là gì? ................................................................................................ 10
1.8.2. Các đặc điểm nổi trội của WAMP................................................................. 11


1.8.3. Download bản cài đặt WAMP ...................................................................... 11
1.8.4. Các bước cài đặt WAMP .............................................................................. 11
1.8.5. Hoàn tất việc cài đặt và chạy thử .................................................................. 15
Câu hỏi ôn tập chương 1 ...................................................................................... 18
CHƯƠNG 2: NGƠN NGỮ LẬP TRÌNH PHP ................................................... 19
2.1. Nhúng PHP vào trang HTML .......................................................................... 19
2.1.1. Nhúng mã PHP trong HTML ........................................................................ 19
2.1.2. Ghi chú trong PHP........................................................................................ 21
2.2. Khái niệm về cú pháp PHP .............................................................................. 21
2.3. Biến là gì? ....................................................................................................... 21
2.3.1. Khái niệm và cú pháp khai báo ..................................................................... 22
2.3.2. Tầm hoạt động của biến ................................................................................ 23
2.3.3. Các biến đã được định nghĩa trước................................................................ 24
2.3.4. Chuyển đổi kiểu dữ liệu của biến .................................................................. 24
2.4. Các kiểu dữ liệu trong PHP ............................................................................. 25
2.4.1. Kiểu boolean ................................................................................................ 25
2.4.2. Kiểu integer .................................................................................................. 26
2.4.3. Kiểu số thực (floats, doubles hay real numbers) ............................................ 26
2.4.4. Kiểu string .................................................................................................... 27
2.4.5. Kiểu mảng .................................................................................................... 31
2.4.6. Kiểu object ................................................................................................... 33
2.4.7. Kiểu resource................................................................................................ 34
2.4.8. Kiểu NULL .................................................................................................. 34
2.5. Hằng trong PHP .............................................................................................. 34
2.6. Toán tử trong PHP ........................................................................................... 35
2.6.1. Phép gán (assignment) .................................................................................. 35
2.6.2. Các phép toán số học .................................................................................... 36
2.6.3. Các phép toán về chuỗi ................................................................................. 36
2.6.4. Phép toán gán kết hợp ................................................................................... 37
2.6.5. Tham chiếu ................................................................................................... 37

2.6.6. Phép toán so sánh ......................................................................................... 38
2.7. Kiểu Date-Time ............................................................................................... 39
2.8. Cấu trúc điều khiển trong PHP ........................................................................ 41

2


2.8.1. Cấu trúc if…elseif…else .............................................................................. 41
2.8.2. Cấu trúc switch ............................................................................................. 43
2.8.3. Vòng lặp for ................................................................................................. 45
2.8.4. Vòng lặp while ............................................................................................. 46
2.8.5. Vịng lặp do…while...................................................................................... 47
2.8.6. Thốt khỏi cấu trúc điều khiển ...................................................................... 48
2.9. Hàm................................................................................................................. 49
2.10. Tương tác với Server bằng Form ................................................................... 53
2.10.1. Tạo Form .................................................................................................... 53
2.10.2. Lấy dữ liệu từ form khi click nút submit với phương thức post ................... 54
2.10.3. Lấy dữ liệu từ form khi click nút submit với phương thức get ..................... 57
2.11. Đối tượng session và cookie .......................................................................... 61
2.11.1. Đối tượng session ....................................................................................... 61
2.11.2. Đối tượng cookie ........................................................................................ 68
2.12. Tận dụng mã nguồn có sẵn bằng cách include file ......................................... 69
2.13. Một số ví dụ minh họa ................................................................................... 70
Câu hỏi ôn tập chương 2 ...................................................................................... 79
CHƯƠNG 3: CƠ SỞ DỮ LIỆU MySQL ............................................................ 84
3.1. Giới thiệu cơ sở dữ liệu MySQL ...................................................................... 84
3.2. Kiểu dữ liệu trong MySQL .............................................................................. 84
3.2.1. Kiểu dữ liệu Numeric ................................................................................... 84
3.2.2. Kiểu dữ liệu Date and Time .......................................................................... 84
3.2.3. Kiểu dữ liệu String ....................................................................................... 85

3.3. Các phát biểu SQL........................................................................................... 86
3.4. Sử dụng phpMyAdmin để quản trị MySQL ..................................................... 86
3.4.1. Tổng quan về phpMyAdmin ......................................................................... 86
3.4.2. Cài đặt phpMyAdmin ................................................................................... 87
3.4.3. Khởi động phpMyAdmin .............................................................................. 87
3.4.4. Phân quyền và nhóm người sử dụng ............................................................. 88
3.4.5. Làm việc với Cơ sở dữ liệu ........................................................................... 88
3.4.6. Làm việc với bảng (Table) ............................................................................ 92
Câu hỏi ôn tập chương 3 ......................................................................................... 94
CHƯƠNG 4: KẾT HỢP PHP VÀ MySQL ......................................................... 96
4.1. Kết nối cơ sở dữ liệu........................................................................................ 96
4.2. Truy vấn và hiển thị dữ liệu trong các bảng ..................................................... 96
4.2.1. Hiển thị dạng lưới (table) .............................................................................. 96
4.2.2. Hiển thị dạng lưới định dạng......................................................................... 99
4.2.3. Hiển thị dạng lưới có phân trang ................................................................. 102
4.2.4. Hiển thị dưới dạng list đơn giản .................................................................. 107
4.2.5. Hiển thị list dạng cột ................................................................................... 109
4.2.6. Hiển thị list dạng cột có link ....................................................................... 111
4.2.7. Hiển thị list chi tiết có phân trang ............................................................... 115
4.3. Tìm kiếm dữ liệu ........................................................................................... 120
4.3.1. Tìm kiếm đơn giản ..................................................................................... 120
4.3.2. Tìm kiếm nâng cao ..................................................................................... 123
4.4. Thêm mới dữ liệu .......................................................................................... 127
4.5. Cập nhật và xóa dữ liệu ................................................................................. 132
4.6. Một số ví dụ minh họa ................................................................................... 141

3


Câu hỏi ôn tập chương 4 .................................................................................... 178

CHƯƠNG 5: HỆ QUẢN TRỊ NỘI DUNG MÃ NGUỒN MỞ JOOMLA ....... 179
5.1. Tổng quan về hệ quản trị nội dung mã nguồn mở (CMS) ............................... 179
5.2. Giới thiệu về Joomla ...................................................................................... 179
5.2.1. Khái niệm Joomla ....................................................................................... 179
5.2.2. Vài nét về lịch sử phát triển Joomla ............................................................ 179
5.2.3. Các dòng phiên bản của Joomla .................................................................. 180
5.2.4. Kiến trúc của Joomla .................................................................................. 180
5.2.5. Đối với người sử dụng cuối ........................................................................ 180
5.2.6. Ứng dụng của Joomla ................................................................................. 180
5.3. Một số khái niệm trong Joomla ...................................................................... 181
5.3.1. Front-end và Back-end ............................................................................... 181
5.3.2. Các thành phần mở rộng (Extension) .......................................................... 181
5.3.3. Quản lý nội dung Site ................................................................................. 183
5.3.4. Template..................................................................................................... 184
5.4. Cài đặt Joomla ............................................................................................... 185
5.4.1. Các bước cài đặt ......................................................................................... 185
5.4.2. Mở ứng dụng Website trên trình duyệt........................................................ 190
5.4.3. Đăng nhập vào trang quản trị ứng dụng Website ......................................... 191
5.5. Quản trị Joomla ............................................................................................. 192
5.5.1. Cấu hình tổng thể (Global Configuration) ................................................... 192
5.5.2. Quản lý người dùng .................................................................................... 196
5.5.3. Việt hóa Joomla bằng cách cài đặt gói ngôn ngữ tiếng Việt ........................ 197
5.5.4. Thay đổi Template cho Website.................................................................. 201
5.5.5. Tạo nội dung cho Website (Section, Category, Content Item) ..................... 204
5.5.6. Cài đặt Component, Module, Plugin ........................................................... 210
5.5.7. Một số thao tác với Main Menu .................................................................. 211
5.6. Bảo mật trong Joomla .................................................................................... 217
5.6.1. Khái niệm về bảo mật ................................................................................. 217
5.6.2. Tại sao phải bảo mật? ................................................................................. 218
5.6.3. Các phương pháp bảo mật .......................................................................... 218

Câu hỏi ôn tập chương 5 ....................................................................................... 220
PHỤ LỤC............................................................................................................ 221
TÀI LIỆU THAM KHẢO .................................................................................. 222

4


LỜI NĨI ĐẦU
Ngày nay, ứng dụng cơng nghệ thơng tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,
cũng như của các cơng ty; nó đóng vai trị hết sức quan trọng, có thể tạo ra những
bước đột phá mạnh mẽ.
Đối với các chính phủ và các cơng ty thì việc xây dựng các Website riêng càng
ngày càng trở nên cấp thiết. Thông qua những Website này, thông tin về họ cũng như
các công văn, thơng báo, quyết định của chính phủ hay các sản phẩm, dịch vụ mới của
công ty sẽ đến với những người quan tâm, đến với khách hàng của họ một cách nhanh
chóng kịp thời, tránh những phiền hà mà phương thức giao tiếp truyền thống thường
gặp phải.
Việc xây dựng các trang Web để phục vụ cho các nhu cầu riêng của các tổ chức,
cơng ty thậm chí các cá nhân, ngày nay, khơng lấy gì làm xa lạ. Với một vài thao tác
đơn giản, một người bất kì có thể trở thành chủ của một Website giới thiệu về bất cứ
gì anh ta quan tâm: một Website giới thiệu về bản thân và gia đình anh ta, hay là một
Website trình bày các bộ sưu tập hình ảnh các loại xe hơi mà anh ta thích chẳng hạn.
Ngày nay, các Website tĩnh với các trang HTML đơn giản không còn đáp ứng
được nhu cầu của người dùng. Các Website động kết hợp với cơ sở dữ liệu đã trở
thành xu thế phát triển Web.
Nếu nội dung trang Web của bạn ngày một nhiều, bạn cần phải tạo Web động, bạn
thử hình dung nếu bạn có một cửa hàng điện tử trên Web có 1.000 sản phẩm. Bạn phải
tạo 1.000 trang Web cho mỗi sản phẩm và khi mọi thứ thay đổi, bạn phải sửa đổi lại
tất cả những trang đó. Đó là một việc khơng hứng thú và tốn thời gian, vậy bạn phải

cần Web động, bạn chỉ việc tạo một trang hiển thị, và nội dung từng sản phẩm lưu trữ
trong cơ sở dữ liệu, thông tin hiển thị sẽ tuỳ thuộc vào sự truy cập của người truy cập.
Môn học Xây dựng ứng dụng Web với PHP & MySQL sẽ giới thiệu với các bạn
2 công nghệ phổ biến nhất được dùng để tạo các Website động: Ngơn ngữ kịch bản
PHP và chương trình quản lý cơ sở dữ liệu MySQL. Môn học cũng giới thiệu Hệ quản
trị nội dung mã nguồn mở Joomla giúp xây dựng một Website nhanh chóng, dù là
web cá nhân hay là một Website ngân hàng, một đại công ty, một hệ thống bán hàng
trực tuyến, một hệ thống viễn thông, một trường học online,...
Giáo trình “Xây dựng ứng dụng Web với PHP & MySQL” được biên soạn nhằm
phục vụ công tác đào tạo và học tập trong trường Đại học Công nghiệp Quảng Ninh,
nhưng cũng là một tư liệu tham khảo tốt cho tất cả những ai quan tâm đến Lập trình
Web, đặc biệt là những sinh viên các ngành Tốn-Tin, Tin học, Cơng nghệ Thơng tin.
Giáo trình bao gồm 4 chương:
Chương 1: Cung cấp các khái niệm mở đầu về lập trình Web.
Chương 2: Cung cấp những kiến thức cơ bản về ngơn ngữ lập trình PHP.
Chương 3: Các kiến thức cơ bản về cơ sở dữ liệu MySQL.
Chương 4: Trình bày cách khai thác thơng tin: Hiển thị, thêm, xóa, cập nhật thơng
tin trong cơ sở dữ liệu sử dụng PHP & MySQL.
Chương 5: Cung cấp các kiến thức cơ bản về CMS Joomla để xây dựng một ứng
dụng Website.
Phụ lục là danh sách các từ viết tắt sử dụng trong giáo trình này hoặc liên quan.

5


Sau mỗi chương đều có câu hỏi ơn tập nhằm giúp sinh viên nắm vững những nội
dung chính của từng chương và tự kiểm tra trình độ của chính mình qua việc trả lời
các câu hỏi ơn tập chương.
Do trình độ và thời gian có hạn, nên giáo trình khơng thể tránh khỏi những khiếm
khuyết. Rất mong nhận được những ý kiến đóng góp quý báu của bạn đọc.

Nhân đây tôi cũng xin trân trọng gửi lời cảm ơn tới các Thầy, Cô giáo trường Đại
học Công nghiệp Quảng Ninh đã nhiệt tình giúp đỡ tơi và dành nhiều thời gian đọc kĩ
và có những ý kiến sâu sắc trong thời gian xây dựng giáo trình.
Quảng Ninh, tháng 02 năm 2013
TÁC GIẢ

6


CHƯƠNG 1: MỞ ĐẦU
1.1. Giới thiệu cơ bản
Một trong các công việc đầu tiên của chuyên gia thiết kế Web đó là phải biết về:
- Web Programming Language (ngơn ngữ lập trình Web).
- Web Server (Máy phục vụ Web).
- Database Server (máy phục vụ cơ sở dữ liệu).
* Web Programming Language là gì?
Web Programming Language (ngơn ngữ lập trình Web):
Ngơn ngữ được viết theo phong cách lập trình (khác so với HTML-ngôn ngữ đánh
dấu) để hỗ trợ và tăng cường các khả năng của Web. Cho phép điều khiển các phần tử
của trang Web dễ dàng hơn.
Chúng ta có một số ngơn ngữ lập trình Web như là: ASP, ASP.NET, PHP,
JSP,…
* Web Server là gì?
Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ
Web, đơi khi người ta cũng gọi chính phần mềm đó là Web Server.
Tất cả các Web Server đều hiểu và chạy được các file: *.htm và *.html, tuy nhiên
mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của
Microsoft dành cho *.asp, *.aspx,... ; Apache dành cho *.php,… ; Sun Java System
Web Server của SUN dành cho *.jsp,…
* Database là gì?

Database Server (máy phục vụ cơ sở dữ liệu): máy tính mà trên đó có cài đặt phần
mềm Hệ quản trị cơ sở dữ liệu. Chúng ta có một số Hệ quản trị cơ sở dữ liệu như:
SQL Server, MySQL, Oracle,…
1.2. Website động là gì?
Các Website động là những thực thể mạnh và linh hoạt, thường được thể hiện dưới
dạng các ứng dụng hơn là các Website đơn thuần. Các ưu điểm của Website động:
- Đáp ứng nhiều tham số khác nhau (ví dụ như thời gian của ngày hoặc phiên bản
trình duyệt của người dùng).
- Thường có các giao diện cho phép người quản trị có thể quản lý nội dung của
site.
- Có “bộ nhớ”, cho phép người dùng đăng ký và đăng nhập, thực hiện thương mại
điện tử và các quá trình tương tự.
- Dễ dàng duy trì, cập nhật và phát triển.
Có nhiều cơng nghệ để tạo ra Website động. Các công nghệ thường được sử dụng
là ASP (Active Server Pages, sản phẩm của Microsoft), JSP (Java Server Pages),
ColdFusion và PHP. Website động không nhất thiết phải phụ thuộc vào cơ sở dữ liệu,
nhưng càng ngày sự phụ thuộc đó càng nhiều, đặc biệt khi các ứng dụng cơ sở dữ liệu
có sẵn như MySQL… với chi phí rất thấp hoặc miễn phí.
1.3. PHP là gì?

7


PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994, để theo dõi người dùng truy cập lý lịch trực tuyến của ơng. Vì tính hữu dụng,
khả năng phát triển, PHP đã bắt đầu được sử dụng trong mơi trường chun nghiệp và
nó đã trở thành “PHP: Hypertext Preprocessor”.
Theo Website chính thức của PHP ở địa chỉ www.php.net thì PHP là “một ngơn
ngữ kịch bản nhúng trong HTML”.
“PHP nhúng trong HTML” có nghĩa là PHP có thể được đặt rải rác trong HTML,

giúp cho việc phát triển các Website động được dễ dàng. PHP là một ngôn ngữ kịch
bản (scripting language). 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 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 một URL).
PHP là một cơng nghệ phía máy chủ (server-side) và không phụ thuộc môi trường
(cross-platform). Cả hai yếu tố này đều rất quan trọng. Khái niệm cơng nghệ phía máy
chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy khách là
máy của người dùng). 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 các hệ điều hành như Windows, Unix (và nhiều biến thể của nó),
Macintosh,… Một điều cũng rất quan trọng là 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 các máy chủ khác mà không cần chỉnh sửa hoặc
chỉnh sửa rất ít.
1.4. Tại sao cần dùng PHP?
PHP được sử dụng để phát triển Website động vì nó tốt, nhanh và dễ dàng nghiên
cứu hơn 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 bền vững, linh động và khả năng phát triển không
giới hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở. PHP vừa dễ
với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng được yêu cầu
của lập trình viên chuyên nghiệp.
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn được
xem là ngôn ngữ kịch bản phổ biến nhất hiện nay). PHP là môđun thông dụng cho
Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu Website.
1.5. Cách làm việc của PHP

Hình 1.1: Cách làm việc của PHP phù hợp với môi trường khác-chủ khi
người dùng yêu cầu một trang Web

Như đã giới thiệu, PHP là một ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên
máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thơng qua trình
duyệt.

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. Trong ví dụ ở hình 1.1, mã lệnh PHP

8


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 sẽ xem nó như một trang HTML tiêu chuẩn.

Hình 1.2: Q trình xử lý yêu cầu đối với một trang HTML tĩnh

Điều này khác với site HTML tĩnh ở chỗ: Khi có một yêu cầu, máy chủ chỉ đơn
thuần gửi dữ liệu HTML đến trình duyệt Web và khơng xảy ra một sự biên dịch nào từ
phía máy chủ (xem hình 1.2). Đối với người dùng cuối và trên trình duyệt Web, các
trang home.htm và home.php trông cũng tương tự nhau, nhưng thực chất nội dung của
trang được tạo ra theo cách khác nhau.
1.6. MySQL là gì?
MySQL (www.mysql.com) là 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ồ đắt giá như Oracle và SQL Server của Microsoft, giống như PHP, MySQL có
một khả năng thực thi hồn hảo, rất linh động, đáng tin cậy, dễ nắm bắt và ít chi phí
hoặc miễn phí.
MySQL được phát triển và hỗ trợ bởi cơng ty MySQL AB của Thụy Điển. Nó là
hệ thống quản trị 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ên quan với
nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi
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ệ và
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ống như 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
tồn vẹn dữ liệu tốt hơn. Ngồ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.
Vớ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 do PHP sinh
ra có thể được lấy từ MySQL. Điều này sẽ chuyển nội dung của site từ trạng thái tĩnh
(mã hóa cứng) sang trạng thái động và độ linh hoạt chính là chìa khóa cho website
động.

Hình 1.3: Cách hoạt động của phần lớn các ứng dụng Web động sử dụng
PHP và MySQL

9


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ềm từ việc buôn bán hoặc kết hợp với sản phẩm MySQL.
Phần mềm MySQL có nhiều phần, trong đó có máy chủ MySQL (mysql để chạy
và quản lý các cơ sở dữ liệu), máy khác MySQL (mysql cung cấp giao diện với máy
chủ), các tiện ích để duy trì và dùng cho các mục đích khác. PHP ln ln hỗ trợ tốt
cho MySQL và điều này càng đúng cho các phiên bản gần đây nhất.
MySQL có thể xử lý những cơ sở dữ liệu rất lớn gần 60.000 bảng với hơn 5 tỷ
mẩu tin, làm việc với những bảng lớn đến 8 triệu terabytes (từ phiên bản 3.23) trên
một số hệ điều hành. Nói chung, nó thường làm việc với những bảng có kích thước
4GB.
1.7. Bạn cần những gì để xây dựng một Website viết bằng PHP & MySQL
Để xây dựng một Website viết bằng PHP & MySQL, bạn cần những công cụ sau:

- Một ứng dụng máy chủ Web (ví dụ: Apache, Xitami hoặc IIS).
- PHP Script Language
- MySQL Database
- Chương trình quản lý bằng giao diện đồ họa cơ sở dữ liệu MySQL là:
phpMyAdmin.
- Trình duyệt Web (như Internet Explorer của Microsoft, Navigator của Netscape,
Safari của Apple, Mozilla, Opera,…).
- Trình soạn thảo văn bản, ứng dụng WYSIWYG có hỗ trợ PHP (Dreamweaver
của Macromedia) hoặc IDE (Integrated Development Enviroment: môi trường phát
triển tích hợp).
- Ứng dụng FTP nếu dùng máy chủ ở xa.
Điều hấp dẫn của việc phát triển các Website động dùng PHP và MySQL là tất cả
các yêu cầu có thể được đáp ứng mà khơng tốn tiền, bất kể hệ điều hành đang sử
dụng. Apache, PHP và MySQL là những mã nguồn mở, một số trình duyệt Web là ứng
dụng thương mại và rất nhiều trình soạn thảo văn bản tốt, có sẵn, miễn phí.
1.8. Ứng dụng máy chủ Web Server WAMP làm môi trường để xây dựng Website
viết bằng PHP & MySQL
1.8.1. WAMP là gì?
Một trong những khó khăn ban đầu của người mới thiết kế Web đó là cài đặt Web
Server. Đa phần cảm thấy rất chật vật trong việc cài đặt Apache (Web Server) +
MySQL (Database Server) + PHP và cấu hình sao cho chúng làm việc tốt với nhau.
Tuy nhiên có một giải pháp khá đơn giản và tiện lợi, đó là sử dụng gói cài đặt tích hợp
gồm Apache + MySQL + PHP + PHPMyAdmin (một công cụ quản trị CSDL MySQL).
Mọi việc cần làm chỉ còn là download bản cài đặt và tiến hành cài đặt từng bước theo
chỉ dẫn.
Chúng ta có 2 sản phẩm rất nổi tiếng là XAMPP và WAMP. Tuy nhiên với mục
đích cài đặt trên localhost để chạy thử thì WAMP chính là lựa chọn đầu tiên và dễ
dàng.
WAMP: Một gói phần mềm Web Server tất cả trong một (All-in-One) gồm:
Apache, MySQL, PHP, PHPMyAdmin chạy trên nền Windows.


10


1.8.2. Các đặc điểm nổi trội của WAMP
- Có thể cài đặt WAMP dễ dàng.
- WAMP được cập nhật đều đặn.
- Cho phép lựa chọn các phiên bản PHP, MySQL khác nhau.
- Rất tốt cho việc tạo máy chủ Web để chạy thử, thiết kế Website bằng PHP.
- Hỗ trợ phiên bản PHP5 mới nhất.
- Tương thích Windows XP / Windows Vista / Windows 7
- Hồn tồn miễn phí.
1.8.3. Download bản cài đặt WAMP
Download WAMP tại địa chỉ: />1.8.4. Các bước cài đặt WAMP
Phiên bản chúng ta sẽ cài ở đây là WAMP5 1.7.2, cài trên hệ điều hành Windows.
Trong phiên bản WAMP5 1.7.2 hỗ trợ:
- Apache 2.2.4
- PHP 5.2.3
- MySQL 5.0.41
- phpMyAdmin 2.10.1
Chú ý: trước khi chạy file cài đặt WAMP5 1.7.2.exe, hãy gỡ bỏ Web
server IIS trong hệ điều hành Windows.
Các bước cài đặt chương trình
Bước 1: Chạy file WAMP5 1.7.2.exe để tiến hành cài đặt. Cửa sổ Welcome của
màn hình Setup hiện ra (hình dưới). Click Next để tiếp tục.

Bước 2: Xuất hiện cửa sổ “chấp nhận bản quyền” như hình dưới, click “I accept
the agreement”, Click Next để tiếp tục.

11



Bước 3: Chọn thư mục cài đặt. Bạn giữ nguyên mặc định và Click Next để tiếp tục
(xem hình dưới).

Bước 4: Chọn thư mục được tạo trong Start Menu. Bạn giữ nguyên mặc định và
Click Next để tiếp tục (xem hình dưới).

Bước 5: Chọn Auto Start WAMP5 khi startup. Click Next để tiếp tục (xem hình
dưới).

12


Bước 6: Để tiến hành cài đặt, Click Install (xem hình dưới).

Bước 7: Quá trình cài đặt (xem hình dưới).

Bước 8: Hộp thoại “Browse For Folder” cho phép lựa chọn thư mục đặt Website
để chạy, chọn thư mục mặc định là www, Click OK.

13


Bước 9: Tiếp theo chọn Server SMTP, lựa chọn mặc định, Click Next.

Bước 10: Chọn địa chỉ Email cho Server, lựa chọn mặc định, Click Next.

Bước 11: Chọn trình duyệt sử dụng mặc định cho Server WAMP5 là Firefox,
Click Yes.


14


Bước 12: Hồn thành q trình cài đặt, Click Finish.

1.8.5. Hoàn tất việc cài đặt và chạy thử
 Sau khi cài đặt thành công, bạn sẽ thấy biểu tượng của WAMP ở góc màn hình
như dưới đây:

15


 Để chạy thử:
- Nhấn vào mục “Localhost”
- Hoặc mở trình duyệt và gõ địa chỉ: http://localhost (hoặc http://127.0.0.1)

16


 Để quản lý cơ sở dữ liệu (database):
- Nhấn vào mục “phpMyAdmin”
- Hoặc mở trình duyệt và gõ địa chỉ: http://localhost/phpMyAdmin (hoặc
http://127.0.0.1/phpMyAdmin)

 Thư mục đặt Website theo mặc định của bạn là: C:\wamp\www
Để thay đổi Website mặc định, bạn cần phải sửa file cấu hình của Apache, file này
có tên là httpd.conf. Mở file này (Click chuột trái vào biểu tượng của chương trình
WAMP trên khai hệ thống, chọn config files\httpd.conf), tìm đến dịng lệnh chứa lệnh
DocumentRoot, hãy thay đường dẫn C:/wamp/www bằng thư mục sẽ chứa Website

của bạn. Ví dụ: DocumentRoot “C:/myweb”.
Chú ý: Đối với các đường dẫn trong Apache bạn nên dùng dấu “/”, còn
nếu bạn muốn dùng dấu “\” thì phải gõ dấu này hai lần, ví dụ C:\\myweb.
 Để có thể truy cập từ máy tính khác nhấn vào mục: Put Online

17


Câu hỏi ôn tập chương 1

Câu hỏi ôn tập chương 1
1. Hãy kể ra một số công nghệ thường được dùng để thiết kế Website động.
2. PHP là gì?
3. MySQL là gì?
4. Để tạo một ứng dụng Website bằng PHP & MySQL bạn cần những cơng cụ gì?

18


Chương 2: Ngơn ngữ lập trình PHP

CHƯƠNG 2: NGƠN NGỮ LẬP TRÌNH PHP
2.1. Nhúng PHP vào trang HTML
2.1.1. Nhúng mã PHP trong HTML
Một file PHP thường bao gồm các thẻ Html, giống như một file Html, và thêm
một số mã kịch bản PHP.
* Thẻ PHP
Có 4 loại khác nhau của thẻ PHP bạn có thể sử dụng khi thiết kế trang PHP. Muốn
sử dụng thẻ nào bạn phải cấu hình trong tập tin php.ini nằm trong thư mục có đường
dẫn là C:\Windows.

- Kiểu định dạng XML: Thẻ này có thể sử dụng với văn bản định dạng XML, nếu
bạn lập trình PHP có ý định sử dụng với XML trong Web site, bạn cần phải khai báo
thẻ PHP trong trang PHP như:
Mã PHP
?>

Để sử dụng cặp thẻ <?php và ?>, bạn cần phải cấu hình phát biểu
short_open_tag=Off trong file php.ini. Cấu hình này là mặc định trong file php.ini
khi cài đặt Server WAMP.
Ví dụ 2.1: Chúng ta sẽ hiển thị một dịng văn bản “Welcome to
PHP” trên trình duyệt bằng một file PHP (first.php là file
được định dạng theo kiểu XML) đơn giản sau:
" /><html xmlns=" /><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to PHP Server Script</title>
</head>
<body>
echo "Welcome to PHP";
?>
</body>
</html>

- Đặt tập tin first.php vào máy chủ Web (C:\wamp\www)
Mở
trình
duyệt,


vào
địa
chỉ
sau:
http://localhost/first.php, kết quả hiển thị như hình 2.1:

19


Chương 2: Ngơn ngữ lập trình PHP

Hình 2.1: Hiển thị dòng văn bản bằng cặp thẻ <?php … ?>

Chú ý:
i) Có thể sử dụng dấu nháy đơn, hoặc dấu nháy kép trong dòng lệnh echo
"Welcome to PHP" đều được.
ii) PHP là ngôn ngữ không phân biệt chữ hoa và chữ thường, nên sử dụng
mã lệnh ECHO(), echo(), hoặc Echo(),… đều được.
iii) Mỗi dòng lệnh trong PHP đều phải được kết thúc bởi dấu chấm phẩy (;)
iv) Có thể sử dụng hàm echo() để gửi mã lệnh HTML đến trình duyệt Web.
Ví dụ: echo ‘<b>Hello world</b>’
- Kiểu Short: Thẻ này được sử dụng với văn bản không theo định dạng XML, khai
báo như sau:
Mã PHP
?>

Để sử dụng cặp thẻ <? và ?>, bạn cần phải cấu hình phát biểu
short_open_tag=On trong file php.ini.
Ví dụ 2.2: Chúng ta sẽ hiển thị một dịng văn bản “Welcome to

PHP” trên trình duyệt bằng một file PHP (second.php là file
không được định dạng theo kiểu XML) đơn giản sau:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>Welcome to PHP Server Script</TITLE>
</HEAD>
<BODY>
echo "Welcome to PHP";
?>
</BODY>
</HTML>

- Đặt tập tin first.php vào máy chủ Web (C:\wamp\www)
Mở
trình
duyệt,

vào
địa
chỉ
sau:
http://localhost/first.php, kết quả hiển thị như hình 2.1:

Hình 2.2: Hiển thị dòng văn bản bằng cặp thẻ <? … ?>

- Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự như
khai báo JavaScript hay VBScript, bạn có thể khai báo như sau:
<script language=’PHP’>


20


Chương 2: Ngơn ngữ lập trình PHP

Echo “PHP Script”;
</script>

- Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trang
ASP, thẻ này được sử dụng khi bạn cho phép chúng bằng cách cấu hình (asp_tags)
trong tập tin php.ini, cú pháp của thẻ như sau
<%
Echo “PHP Script”;
%>

Mặt khác, nếu bạn cho phép viết mã nguồn trong trang PHP tương tự như cách
viết script trong ASP, bạn có thể cấu hình lại phát biểu asp_tags (giá trị mặc định của
phát biểu này Off) như sau:
Allow ASP-style <%%> tags
asp_tags = On

2.1.2. Ghi chú trong PHP
Ghi chú (Comments) trong lập trình PHP cũng tương tự như trong lập trình Perl,
C, C++ và CGI, để Comment một đoạn chương trình (nhiều dịng), bạn có thể khai báo
như sau:
/*
Author: Nguyen Nguyen Ngoc
Last modifyed: May 12 2008
This is PHP script

*/

Lưu ý: Comment không cho phép khai báo Comment con bên trong. Ngoài ra, nếu
bạn chỉ muốn Comment một dịng, bạn có thể sử dụng kiểu Comment của C hay Java
như sau:
//echo “SaigonInfotech”;

Tuy nhiên, bạn cũng có thể Comment một dịng, theo kiểu Comment như trong lập
trình Perl.
#echo “SaigonInfotech”;

2.2. Khái niệm về cú pháp PHP
Cú pháp PHP chính là cú pháp trong ngơn ngữ C, các bạn làm quen với ngơn ngữ
C thì có lợi thế trong lập trình PHP.
Để lập trình bằng ngơn ngữ PHP cần chú ý những điểm sau:
- Cuối câu lệnh có dấu chấm phẩy ;
- Biến trong PHP có tiền tố là $ (ví dụ: $name)
- Mỗi phương thức đều bắt đầu { và đóng bằng dấu }
- Khi khai báo biến thì khơng có kiểu dữ liệu.
- Nên có giá trị khởi đầu cho biến khai báo.
- Phải có ghi chú (comment) cho mỗi feature mới.
- Sử dụng dấu // hoặc # để giải thích cho mỗi câu ghi chú.
- Sử dụng /* và */ cho mỗi đoạn ghi chú.
- Khai báo biến có phân biệt chữ hoa hay thường (tức là $a sẽ khác $A).
2.3. Biến là gì?

21


Chương 2: Ngơn ngữ lập trình PHP


2.3.1. Khái niệm và cú pháp khai báo
Biến được xem như một thành phần dùng để lưu trữ tạm thời các giá trị. Các giá
trị này có thể là số, văn bản hoặc các dạng dữ liệu phức tạp khác. Biến tồn tại như
“linh hồn” của nhiều ngơn ngữ lập trình và nắm vững về nó là chìa khóa cho việc sử
dụng PHP.
Theo tài liệu của PHP, có tám dạng biến trong ngơn ngữ này: Bốn kiểu dữ liệu đơn
là Boolean (true và false), số nguyên, chấm phẩy động (thập phân) và chuỗi (văn
bản). Hai kiểu dữ liệu đa trị là mảng và đối tượng. Cuối cùng là kiểu dữ liệu tài
nguyên (được sử dụng khi tương tác với cơ sở dữ liệu) và NULL (một biến đặc biệt
khơng có giá trị).
Cho dù kiểu dữ liệu bạn tạo ra là gì thì các biến trong PHP cũng tuân theo các quy
tắc nhất định:
Bất chấp kiểu dữ liệu, các biến trong PHP luôn tuân theo các quy tắc nhất định
sau:
- Tên biến phải bắt đầu với một dấu đơ la ($), ví dụ: $name.
- Tên biến có thể chứa các chuỗi, con số và dấu gạch dưới, ví dụ: $my_report1.
- Ký tự đầu tiên sau dấu $ không thể là số (phải là chữ cái hoặc dấu gạch dưới).
- Các tên biến trong PHP có phân biệt chữ hoa và chữ thường. Ví dụ: $name và
$Name là 2 biến hoàn toàn khác nhau.
- Các biến có thể được gán giá trị bằng cách sử dụng dấu bằng (=).
Xuất phát từ những điều ở trên, khai báo biến trong PHP như sau:
$variablename [=initial value];

Một số ví dụ về biến:
$a=100; //biến a ở đây có giá trị là 100
$a="PHP is easy" //biến a ở đây có giá trị "PHP is easy"
biena=123; //có lỗi vì bắt đầu 1 biến phải có dấu $
$123a="PHP" //có lỗi vì phần tên bắt đầu của biến là dạng số.

?>
Ví dụ 2.3: Sẽ gán chuỗi “Hello World” cho biến $txt
<HTML>
<HEAD>
<TITLE>Welcome to PHP Server Script</TITLE>
</HEAD>
<BODY>
$txt="Hello World";
echo $txt;
?>
</BODY>
</HTML>

Kết quả chạy trên trình duyệt

22


Chương 2: Ngơn ngữ lập trình PHP

Hình 2.3: Khởi tạo và gán giá trị cho biến kiểu chuỗi

Chú ý: Để nối hai hay nhiều biến lại với nhau, sử dụng dấu chấm (.)
Ví dụ 2.4: Sử dụng dấu chấm để nối 2 biến $txt1 và $txt2.
<HTML>
<HEAD>
<TITLE>Welcome to PHP Server Script</TITLE>
</HEAD>
<BODY>

$txt1="Hello World";
$txt2="1234";
echo $txt1 . " " . $txt2;
?>
</BODY>
</HTML>

Kết quả chạy trên trình duyệt

Hình 2.4: Sử dụng dấu chấm để nối 2 chuỗi

2.3.2. Tầm hoạt động của biến
Xét về tầm hoạt động của biến thì ta có 3 loại:
- Biến cục bộ: Biến bạn khai báo trong một hàm thì sẽ chỉ có giá trị bên trong hàm
đó.
- Biến tồn cục: Các biến bạn khai báo và sử dụng ở bên ngoài tất cả các hàm thì
sẽ bị ẩn một cách mặc định trong các hàm. Tuy nhiên vẫn có thể sử dụng các biến toàn
cục trong hàm bằng cách sau:
<HTML>
<HEAD>
<TITLE>::Welcome to PHP</TITLE>
</HEAD>

23


Chương 2: Ngơn ngữ lập trình PHP

<BODY>

$s="This is a global variable";
function echoOut()
{
// Cách 1
global $s;
echo $s;
// Cách 2
echo $_GLOBALS['s'];
}
?>
</BODY>
</HTML>

2.3.3. Các biến đã được định nghĩa trước
PHP cung cấp cho chúng ta khá nhiều biến đưa thông tin về môi trường làm việc.
Đa số đều là các mảng “siêu” toàn cục (có thể dùng mọi lúc, mọi nơi).
- $_GLOBALS: Mảng này chứa tất cả các biến toàn cục đang tồn tại.
- $_SERVER: Mảng này chứa thông tin về ngữ cảnh mà đoạn mã đang chạy, như
là tên server, tên file đang chạy, thông tin về kết nối,…
- $_GET & $_POST: Hai mảng này chứa thông tin được gửi đến server qua các
form HTML tương ứng (tương ứng với phương thức GET và POST).
- $_SESSION & $_COOKIE: 2 mảng này chứa các thông tin về phiên làm việc
của cookie của client.
- $_REQUEST: Chứa thông tin của $_GET, $_POST và $_SESSION.
- $_ENV: Chứa các biến môi trường mà engine PHP đang chạy.
2.3.4. Chuyển đổi kiểu dữ liệu của biến
Có 2 cách cơ bản để chuyển từ kiểu dữ liệu này sang kiểu dữ liệu khác trong PHP.
a) Chuyển đổi toàn vẹn (Implicit Type Conversions)
Đó là cách phổ biến nhất trong việc chuyển kiểu dữ liệu mà bạn thấy, thật ra, đó là

do PHP tự động làm cho bạn. Nghĩa là thay vì tự bạn yêu cầu một kiểu dữ liệu xác
định, PHP tự quyết định xem đó là kiểu dữ liệu gì cho chúng ta.
 Đó là các chuyển đổi sau:
- Các phép tính có tốn tử: Nếu PHP nhận thấy một phép tốn giữa số ngun và
số phức, thì kết quả nó trả về là số phức. Nếu một chuỗi cộng với một số bất kỳ, PHP
sẽ cố chuyển chuỗi đó sang dạng số trước khi làm phép cộng với số đã cho.
echo "5"+2;

//Kết qủa là 7

?>

- Các biểu thức boolean: Được dùng khi PHP thấy một biểu thức phải phát sinh ra
kết quả boolean. Khi đó, nó sẽ được tự chuyển sang boolean trước khi tiếp tục.
b) Chuyển đổi khơng tồn vẹn (Explicit Type Conversions)
Trong trường hợp này, PHP không chuyển đổi một cách thông thường, bạn phải
quyết định xem kiểu dữ liệu nào bạn muốn có.
Hãy xem xét ví dụ này:

24


Chương 2: Ngơn ngữ lập trình PHP

$doubleNumber=10.5;
echo ("We have a doubleNumber:".$doubleNumber."
");
//Kết quả là 10.5
$intNumber=(int)$doubleNumber;

echo ("Now, it is integer:".$intNumber); //Kết quả là 10
?>

Rõ ràng, cách chuyển đổi kiểu dữ liệu này khơng giữ ngun tính tồn vẹn của dữ
liệu của chúng ta (từ 10.5, chúng ta chỉ còn 10 khi chuyển từ dạng số phức sang dạng
số nguyên).
Các khai báo để chuyển dữ liệu dạng khơng tồn vẹn như sau:
- (int), (integer): Chuyển sang dạng số nguyên.
- (float), (double), (real): Chuyển sang dạng số có phần thập phân.
- (string): Chuyển sang dạng chuỗi.
- (bool), (boolean): Chuyển san dạng boolean.
- (array): Chuyển sang dạng mảng.
- (object): Chuyển sang một đối tượng nào đó (có thể người dùng tự định nghĩa).
2.4. Các kiểu dữ liệu trong PHP
PHP hỗ trợ 8 kiểu dữ liệu nguyên thủy:
- Bốn kiểu thông thường là: boolean, integer, floating-point number (float),
string;
- Hai kiểu phức tạp là: mảng (array) và đối tượng (object);
- Và cuối cùng là 2 kiểu đặc biệt: resource và NULL.
Loại dữ liệu của biến thông thường khơng được gán bởi người lập trình mà
được quyết định tại thời gian chạy của PHP, phụ thuộc vào ngữ cảnh mà biến được
dùng.
Kiểm tra kiểu dữ liệu của biến:
Để kiểm tra kiểu dữ liệu của biến, bạn sử dụng các hàm như sau:
is_int($tên_biến) để kiểm tra biến có kiểu Integer, nếu biến có kiểu Integer thì
hàm sẽ trả về giá trị là true (1).
Tương tự, bạn có thể sử dụng các hàm kiểm tra tương ứng với kiểu dữ liệu là:
is_array($tên_biến), is_bool($tên_biến), is_double($tên_biến), is_float($tên_biến),
is_string($tên_biến), is_object($tên_biến).
2.4.1. Kiểu boolean

Đây là kiểu đơn giản nhất. Một kiểu boolean biểu thị một giá trị thật. Nó có thể là
TRUE hay FALSE.
Cú pháp: Để chỉ định một giá trị boolean, có thể sử dụng từ khóa TRUE hay là
FALSE. Cả hai đều khơng phân biệt chữ hoa hay chữ thường.
Ví dụ:
$foo=True;

//gán giá trị TRUE cho biến $foo

Để có thể chuyển một giá trị sang kiểu boolean, chúng ta có thể dùng (bool) hay
(boolean) trước tên biến.
Chú ý: Trong q trình tính tốn trong PHP, đôi khi bạn cần chuyển đổi kiểu dữ liệu
cho biến. Trong trường hợp này, bạn chỉ khai báo kiểu dữ liệu trước tên biến, ví dụ: 25

$qtty=20;
$price=10;
$total=(double) ($qtty*$price)/3;


×