lOMoARcPSD| 60797905
MỤC LỤC
LỜI GIỚI THIỆU..................................................................................................1
MỤC LỤC.............................................................................................................3
BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL.....................................................11
1. Giới thiệu MySQL.........................................................................................11
2. Giới thiệu PHP..............................................................................................11
3. Cài đặt và cấu hình gói XAMPP...................................................................11
3.1. Cài đặt XAMPP............................................................................................11
3.2. Chọn chức năng khởi động và cấu hình các cổng........................................12
3.3. Cấu hình tập tin httpd.conf và httpd-ssl.conf...............................................13
4. Khởi động các dịch vụ...................................................................................14
CÂU HỎI, BÀI TẬP...........................................................................................15
GỢI Ý, ĐÁP ÁN.................................................................................................15
BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN.......................................17
1. Mở giao diện phpmyadmin...........................................................................17
2. Tạo CSDL.....................................................................................................18
3. Hủy CSDL.....................................................................................................18
4. Tạo, hiệu chỉnh cấu trúc và hủy table............................................................19
4.1. Tạo table.......................................................................................................19
4.2. Hiệu chỉnh cấu trúc table..............................................................................20
4.3. Hủy table......................................................................................................20
5. Tạo khóa ngoại..............................................................................................21
6. Tạo Unique....................................................................................................21
7. Đọc, thêm, xóa, sửa dữ liệu...........................................................................22
8. Sao lưu và phục hồi dữ liệu...........................................................................23
8.1. Sao lưu dữ liệu.............................................................................................23
8.2. Phục hồi dữ liệu............................................................................................23
lOMoARcPSD| 60797905
CÂU HỎI, BÀI TẬP...........................................................................................24
GỢI Ý, ĐÁP ÁN.................................................................................................24
BÀI 3: TỔNG QUAN VỀ PHP...........................................................................27
1. Cấu trúc đoạn mã PHP..................................................................................27
2. Sử dụng các lệnh xuất...................................................................................27
2.1. Lệnh xuất
echo.............................................................................................27
2.2. Lệnh xuất
print.............................................................................................28
2.3. Hàm
sprintf...................................................................................................28
2.3. Lệnh xuất
printf............................................................................................29
2.4. Lệnh
var_dump.............................................................................................29
3. Khai báo và sử dụng biến, hằng....................................................................29
4. Sử dụng các toán tử.......................................................................................30
CÂU HỎI, BÀI TẬP...........................................................................................31
BÀI 4: ĐỌC DỮ LIỆU TỪ ĐỊA CHỈ VÀ FORM..............................................33
1. $_GET...........................................................................................................33
2. $_POST.........................................................................................................33
3. $_REQUEST.................................................................................................34
CÂU HỎI, BÀI TẬP...........................................................................................34
GỢI Ý, ĐÁP ÁN.................................................................................................35
BÀI 5: THAO TÁC VỚI CÁC KIỂU DỮ LIỆU TRONG PHP.........................37
1. Luận lý...........................................................................................................37
2. Số nguyên......................................................................................................37
3. Số thực...........................................................................................................38
4. Hàm toán học................................................................................................38
5. Chuỗi, ký tự...................................................................................................39
lOMoARcPSD| 60797905
6. Hàm trên chuỗi..............................................................................................39
7. Mảng..............................................................................................................39
7.1. Khai báo.......................................................................................................39
7.2. Truy xuất......................................................................................................41
7.3. Thêm phần tử vào mảng...............................................................................42
7.4. Hàm trên mảng.............................................................................................42
CÂU HỎI, BÀI TẬP...........................................................................................43
GỢI Ý, ĐÁP ÁN.................................................................................................44
BÀI 6: CẤU TRÚC ĐIỀU KHIỂN.....................................................................45
1. if, if … else....................................................................................................45
1.1. Cấu trúc if.....................................................................................................45
1.2. Cấu trúc if … else.........................................................................................45
2. switch............................................................................................................46
3. for, foreach....................................................................................................47
3.1. Vòng lặp for..................................................................................................47
3.2. Vòng lặp foreach..........................................................................................47
4. while, while … endwhile, do … while..........................................................49
Cú pháp while:.....................................................................................................49
Cú pháp while … endwhile:................................................................................49
Cú pháp do … while:...........................................................................................49
5. Các lệnh break, continue...............................................................................49
CÂU HỎI, BÀI TẬP...........................................................................................50
BÀI 7: XÂY DỰNG VÀ SỬ DỤNG HÀM........................................................51
1. Định nghĩa hàm.............................................................................................51
2. Tham số của hàm...........................................................................................51
CÂU HỎI, BÀI TẬP...........................................................................................52
BÀI 8: SỬ DỤNG INCLUDE VÀ REQUIRE...................................................53
1. include, include_once....................................................................................53
lOMoARcPSD| 60797905
2. require, require_once.....................................................................................54
CÂU HỎI, BÀI TẬP...........................................................................................54
BÀI 9: TẠO CÁC LỚP ĐỐI TƯỢNG................................................................55
1. Tổng quan......................................................................................................55
2. Xây dựng lớp đối tượng (class).....................................................................56
2.1. Tạo lớp đối
tượng.........................................................................................56
2.2. Khai báo thuộc
tính......................................................................................56
2.3. Xây dựng phương
thức.................................................................................57
2.4. Từ khóa
static...............................................................................................58
3. Sử dụng lớp đối tượng...................................................................................58
CÂU HỎI, BÀI TẬP...........................................................................................60
GỢI Ý, ĐÁP ÁN.................................................................................................60
BÀI 10: TRUY XUẤT MYSQL TRONG PHP..................................................61
1. Giới thiệu PDO..............................................................................................61
2. Lý do chọn PDO............................................................................................61
3. Tạo kết nối – Hủy kết nối..............................................................................62
3.1 Tạo kết
nối.....................................................................................................62
3.2 Hủy kết
nối...................................................................................................63
3.3 Xử lỗi kết
nối............................................................................................63
4. Thực thi lệnh SQL.........................................................................................64
4.1 Các lệnh Insert, Update,
Delete....................................................................64
4.2 Câu lệnh
Select.............................................................................................64
lOMoARcPSD| 60797905
5. Transaction....................................................................................................64
6. PDO Statement..............................................................................................65
6.1 Prepared
statement.......................................................................................65
6.2 Thực
thi........................................................................................................65
6.3 Duyệt dữ
liệu................................................................................................66
6.4 Truyền tham số trong câu truy
vấn...............................................................67
6.5 Đếm số lượng mẫu
tin..................................................................................67
CÂU HỎI, BÀI TẬP...........................................................................................69
GỢI Ý, ĐÁP ÁN.................................................................................................70
BÀI 11: CÁC ĐỐI TƯỢNG QUẢNTRONG PHP.....................................71
1. SESSION.......................................................................................................71
1. 1.Khái
niệm......................................................................................................71
1.2. Cách thức hoạt động.....................................................................................71
1.3. Khởi động session........................................................................................71
1.4. Đăng ký session............................................................................................72
1.5. Sử dụng
session.............................................................................................72
1.6. Hủy toàn bộ các biến session.......................................................................72
1.7. Hủy một biến session...................................................................................72
2. COOKIE........................................................................................................72
2.1. Khái niệm.....................................................................................................72
2.2. Khai báo cookie............................................................................................72
2.3. Sử dụng cookie.............................................................................................73
2.4. Hủy cookie...................................................................................................73
CÂU HỎI, BÀI TẬP...........................................................................................73
lOMoARcPSD| 60797905
GỢI Ý, ĐÁP ÁN.................................................................................................73
TÀI LIỆU THAM KHẢO...................................................................................75
GIÁO TRÌNH MÔ ĐUN
Tên mô đun: Lập trình web PHP & MySQL Mã mô đun: MĐ29
Vị trí, tính chất, ý nghĩa và vai trò của mô đun:
Vị trí: được bố trí sau khi học xong các môn cơ sở và Thiết kế web
Tính chất: là mô đun tự chọn
Ý nghĩa và vai trò của mô đun: cung cấp cho người học kiến thức và kỹ năng để
thể thiết kế, xây dựng phát triển ứng dụng web đơn giản bằng ngôn ngữ
PHP với Hệ quản trị sở dữ liệu MySQL từ đó thể ứng dụng xây dựng website
thương mại, quảng bá chuyên nghiệp từ các framework, CMS mã nguồn mở.
Mục tiêu của mô đun:
Về kiến thức:
Biết nguồn gốc và lợi ích của PHP MySQL trong quá trình xây dựng phát
triển web
Biết quy trình quản lý CSDL MySQL trên phpmyadmin
Biết quy trình quản lý table trong CSDL MySQL trên phpmyadmin
Biết cấu trúc đoạn mã, cú pháp trong lập trình PHP Về kỹ năng:
Cài đặt và cấu hình gói XAMPP
Quản lý CSDL MySQL trên phpmyadmin
Đọc thông tin người dùng từ URI và FORM
Tạo các tập tin cấu hình, thư viện để sử dụng cho nhiều site PHP
Tạo các trang web tính toán, truy xuất CSDL MySQL bằng ngôn ngữ PHP
Quản lý thông tin người dùng, tạo chức năng giỏ hàng bằng SESSION và
COOKIE
Về năng lực tự chủ và trách nhiệm:
Cẩn thận không làm ảnh hưởng đến hệ điều hành các phần mềm khác trên máy
tính trong quá trình cài đặt
Không thay đổi c thông tin hệ thống ảnh hưởng đến việc truy xuất CSDL trên
phpmyadmin
Tự tạo ứng dụng web thương mại đơn giản bằng PHP và MySQL
Tham gia xây dựng ứng dụng web bằng PHP và MySQL
Tự tìm hiểu để xây dựng ứng dụng web bằng các framework mã nguồn mở
PHP như: Wordpress, Joomla,
lOMoARcPSD| 60797905
Biết kiến thức tổng quan về PHP và MySQL
Xây dựng phát triển ứng dụng web bằng ngôn ngữ PHP với sở dữ liệu
MySQL
Thực hiện các bài tập ứng dụng vweb đảm bảo đúng trình tự. An toàn cho người
và thiết bị
Nội dung của mô đun:
lOMoARcPSD| 60797905
BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL
Mã bài: 29.1
Giới thiệu:
Các ngôn ngữ lập trình ứng dụng web hiện nay gồm: ASP.NET, PHP, JSP.
Trong đó, phổ biến nhất ASP.NET PHP (facebook được viết bằng PHP). Mỗi
ngôn ngữ lập trình thường phù hợp với một CSDL thông dụng. CSDL thông dụng
trong ngôn ngữ PHP là MySQL.
Mục tiêu:
Biết nguồn gốc của PHP, MySQL
Biết lợi ích khi dùng PHP & MySQL để xây dựng và phát triển web
Cài đặt và cấu hình gói XAMPP
Cẩn thận không làm ảnh hưởng đến hệ điều hành và các phần mềm khác
trên máy tính trong quá trình cài đặt Nội dung chính:
1. Giới thiệu MySQL
MySQL sở dữ liệu nguồn mở phổ biến nhất Thế giới, cho phép phân phối
các ứng dụng sở dữ liệu dựa trên nền tảng web với chi pthấp hiệu suất
cao. MySQL do tập đoàn ORACLE cung cấp.
2. Giới thiệu PHP
PHP ngôn ngữ kịch bản thông dụng đặc trưng phù hợp cho việc phát triển
ứng dụng web.
Với những ưu điểm nhanh chóng, linh hoạt thực tế, PHP đã phát huy sức mạnh
trên mọi ứng dụng từ blog cho đến những website phổ biến nhất trên Thế giới.
3. Cài đặt và cấu hình gói XAMPP
3.1. Cài đặt XAMPP
Bước 1: truy cập vào trang web https://www.apachefriends.org.
Bước 2: chọn phiên bản phù hợp với hệ điều hành trên máy tính.
Hình 1.1. Chọn phiên bản cài đặt XAMPP
Bước 3: chạy file cài đặt sau khi tải xong.
Bước 4: thực hiện cài đặt XAMPP vào C:\xampp.
3.2. Chọn chức năng khởi động và cấu hình các cổng
Bước 1: mở XAMPP Control Panel.
lOMoARcPSD| 60797905
Hình 1.2. Giao diện XAMPP Control Panel
Bước 2: click chuột lên nút Config để mở hộp thoại Configuration of Control Panel.
Hình 1.3. Hộp thoại Configuration of Control Panel
12
Bước 3: đánh dấu chọn Apache và MySQL trong nhóm Autostart of modules. Nếu
máy tính đã được cài đặt VMWare dẫn đến xung đột cổng dịch vụ thì chúng ta
phải tiếp tục thực hiện tiếp Bước 4. Ngược lại thì chọn Save hoàn tất cấu hình.
lOMoARcPSD| 60797905
Bước 4: click chuột n nút Service and Port Settings. Xuất hiện hộp thoại Service
Settings.
Hình 1.4. Hộp thoại Service Settings
Bước 5: thay đổi giá trị các cổng cho Main Port và SSL Port (Ví dụ: 8080 và 888)
rồi chọn Save.
Bước 6: trên hộp thoại Configuration of Control Panel, tiếp tục chọn Save kết
thúc quá trình cấu hình các cổng dịch vụ.
3.3. Cấu hình tập tin httpd.conf và httpd-ssl.conf
Trong trường hợp phải thực hiện Bước 4 Bước 5 của mục 3.2 thì chúng ta phải
tiếp tục cấu hình các tập tin httpd.conf và httpd-ssl.conf.
Cấu hình httpd.conf
Bước 1: click chuột lên nút Config của Module Apache trong hộp thoại XAMPP
Control Panel.
Hình 1.5. Chọn Config để cấu hình tập tin httpd.conf và httpd-ssl.conf
Bước 2: click chuột lên Apache httpd.conf trong danh sách sổ, xuất hiện của s
Notepad hiển thị nội dung cấu hình ca tập tin httpd.conf.
Bước 3: trong cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hiện hộp thoại.
Bước 4: nhập nội dung vào Find whatReplace with lần lượt là 80 và 8080
Bước 5: thực hiện việc thay đổi nội dung Listen 80 thành Listen 8080
ServerName localhost:80 thành ServerName localhost:8080
Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình rồi đóng cửa sổ
Notepad
lOMoARcPSD| 60797905
Cấu hình httpd-ssl.conf
Bước 1: click chuột lên nút Config của Module Apache trong hộp thoại XAMPP
Control Panel.
Bước 2: chọn Apache (httpd-ssl.conf) trong danh sách sổ. Xuất hiện cửa sổ Notepad
hiển thị nội dung tập tin httpd-ssl.conf.
Bước 3: trong cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hiện hộp thoại.
Bước 4: nhập nội dung vào Find whatReplace with lần lượt là 443 và 888
Bước 5: thực hiện việc thay đổi nội dung Listen 443 thành Listen 888
<VirtualHost _default_:443> thành <VirtualHost _default_:888>
Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình rồi đóng cửa sổ Notepad.
4. Khởi động các dịch vụ
Click chuột lên các nút Start của hai module Apache và MySQL để chạy các dịch vụ
tối thiểu lập trình PHP truy xuất MySQL.
Hình 1.6. Khởi động các dịch vụ tối thiểu cho lập trình PHP
14
lOMoARcPSD| 60797905
Hình 1.7. Kết quả có được khi chạy thành công các dịch v
CÂU HỎI, BÀI TẬP
1.1. Cài đặt XAMPP trên máy tính.
1.2. Kể tên 2 module quan trọng phải chạy cùng XAMPP để thể lập trình PHP
truy xuất MySQL.
1.3. Khi nào thì cần phải cấu hình các cổng dịch vụ của XAMPP?
1.4. Trình bày quy trình thay đổi các cổng dịch vụ và tập tin cấu hình của Bài 1.3.
GỢI Ý, ĐÁP ÁN
1.1. Tải file cài đặt tại địa chỉ: https://www.apachefriends.org 1.2.
Hai module quan trọng: Apache, MySQL.
1.3. Khi sự xung đột các cổng dịch vụ (Ví dụ: máy tính đã được cài đặt
VMWare).
1.4. Cấu hình Main port SSL port. Thay đổi nội dung httpd.conf
httpdssl.conf.
lOMoARcPSD| 60797905
BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN
Mã bài: 29.2
Giới thiệu:
Một trong những công cụ để quản MySQL được sử dụng phổ biến nhất
hiện nay ứng dụng web phpmyadmin. Với phpmyadmin, chúng ta thể dễ
dàng quản lý MySQL bằng các thao tác click chuột trên giao diện web mà không
cần phải nhớ hết các cấu trúc lệnh sql.
Mục tiêu:
Biết quy trình tạo, hủy CSDL
Biết quy trình tạo, hiệu chỉnh cấu trúc, hủy table
Phân biệt các kiểu dữ liệu thông dụng trong MySQL
Trình bày các bước cập dữ liệu trên table
Biết quy trình sao lưu và phục hồi dữ liệu
Tạo đươc CSDL, table
Tạo quan hệ giữa các table
Cập nhật dữ liệu trên table
Sao lưu và phục hồi dữ liệu
Cẩn thận chọn đúng CSDL
Không thay đổi các thông tin hthống ảnh hưởng đến việc truy xuất CSDL
trên phpmyadmin Nội dung chính:
1. Mở giao diện phpmyadmin
Cách 1: click chuột lên Admin của module MySQL trong XAMPP Control Panel.
Hình 2.1. Mở phpmyadmin từ XAMPP Control Panel
Cách 2: truy cập vào địa chỉ
http://localhost/phpmyadmin (hoặc http://localhost:8080/phpmyadmin)
lOMoARcPSD| 60797905
Hình 2.2. Giao diện phpmyadmin quản lý MySQL
2. Tạo CSDL
Bước 1: trong giao diện phpmyadmin, click chuột lên biểu tượng Home ở khung
trái.
Bước 2: chọn Databases ở khung phải.
Bước 3: nhập tên CSDL cần tạo (Bookstore), chọn utf8mb4_general_ci trong
danh sách Collation rồi chọn Create.
Hình 2.3. Nhập tên và chọn Collation để tạo CSDL mới
3. Hủy CSDL
Bước 1: chọn biểu biểu Home.
Bước 2: chọn Databases.
Bước 3: đánh dấu chọn CSDL cần hủy rồi click chọn biểu tượng Drop.
lOMoARcPSD| 60797905
Hình 2.4. Danh sách cơ sở dữ liệu
4. Tạo, hiệu chỉnh cấu trúc và hủy table
4.1. Tạo table
Bước 1: click chuột lên biểu tượng New trong CSDL.
Hình 2.5. Cây danh sách table trong cơ sở dữ liệu
Bước 2: nhập tên table cần tạo, khai báo danh sách cột và kiểu dữ liệu.
Hình 2.6. Tạo table Lưu ý:
Name: nhập tên cột
lOMoARcPSD| 60797905
Type: chọn kiểu dữ liệu
Length: kích thước/độ dài (khi Type là CHAR/VARCHAR)
Chọn cột làm khóa: chọn PRIMARY trong danh sách Index của cột tương
ứng
Khi khóa gồm nhiều cột: chọn PRIMARY cho các cột tương ứng
A_I (Auto Increment): giá trị của cột sẽ tự phát sinh tăng dần khi thêm dòng
dữ liệu mới vào table. Nghĩa là, khi nhập dòng dữ liệu mới thì chúng ta không
cần phải nhập giá trị cho cột này. Chỉ sử dụng khi table có duy nhất một cột
làm khóa và Type của cột đó là số nguyên.
Bước 3: click chuột lên nút
4.2. Hiệu chỉnh cấu trúc table
Bước 1: ở khung trái, chọn table cần hiệu chỉnh. Bước
2: chọn Structure ở khung phải.
Hình 2.7. Cấu trúc của table
Mỗi dòng là một cột của table.
Muốn xóa cột nào thì click chuột lên biểu tượng Drop trên dòng tương ứng.
Muốn thay đổi thông tin của cột thì click chuột lên Change
Muốn thêm cột thì nhập số cột cần thêm vào ô Add bên dưới rồi chọn Go
4.3. Hủy table
Bước 1: chọn CSDL trong khung trái.
Hình 2.8. Danh sách table trong CSDL
Bước 2: trong hình trên, mỗi dòng là một table bên trong CSDL. Muốn hủy table
nào thì chọn click chuột lên biểu tượng trên dòng tương ứng.
lOMoARcPSD| 60797905
Biểu tượng sẽ xóa tất cả dữ liệu trong table nhưng không hủy table.
5. Tạo khóa ngoại
Ví dụ: Tạo quan hệ 1-N cho các table chude và sach (một chude có nhiều sach).
Bước 1: chọn cơ sở dữ liệu, table sach trong cây bên trái.
Bước 2: chọn Structure.
Bước 3: chọn Relation view.
Bước 4: nhập tên cho khóa ngoại (FK_SACH_CHUDE), chọn cột làm quan hệ
trong các table sach và chude rồi chọn Save.
Hình 2.9. Tạo khóa ngoại
6. Tạo Unique
Unique: không phải khóa của table nhưng vẫn được kiểm tra duy nhất khi
thêm hoặc sửa các dòng dữ liệu trong table.
Bước 1: chọn cơ sở dữ liệu, table sach trong cây bên trái.
Bước 2: chọn Structure.
Bước 3: nhập số cột làm Unique rồi chọn Go.
Hình 2.10. Xác định số cột làm Unique
Bước 4: đặt tên, chọn UNIQUE trong danh sách Index choice, chọn các cột rồi
chọn Go.
lOMoARcPSD| 60797905
Hình 2.11. Khai báo thông tin Unique
7. Đọc, thêm, xóa, sửa dữ liệu
Bước 1: chọn cơ sở dữ liệu, table trong khung trái.
Bước 2: chọn Browse trong khung phải để xem dữ liệu.
Hình 2.12. Các dòng dữ liệu trong table
Click chuột lên biểu tượng để hiện chỉnh dòng dữ liệu tưng ứng
Click chuột lên biểu tượng để xóa dòng dữ liệu
Bước 3: muốn thêm dữ liệu thì click chuột lên biểu tượng
Bước 4: nhập thông tin cho dòng dữ liệu cần thêm ri click chuột lên nút Go.
Hình 2.13. Giao diện thêm dòng dữ liệu mới

Preview text:

lOMoAR cPSD| 60797905 MỤC LỤC
LỜI GIỚI THIỆU..................................................................................................1
MỤC LỤC.............................................................................................................3
BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL.....................................................11
1. Giới thiệu MySQL.........................................................................................11
2. Giới thiệu PHP..............................................................................................11
3. Cài đặt và cấu hình gói XAMPP...................................................................11
3.1. Cài đặt XAMPP............................................................................................11
3.2. Chọn chức năng khởi động và cấu hình các cổng........................................12
3.3. Cấu hình tập tin httpd.conf và httpd-ssl.conf...............................................13
4. Khởi động các dịch vụ...................................................................................14
CÂU HỎI, BÀI TẬP...........................................................................................15
GỢI Ý, ĐÁP ÁN.................................................................................................15
BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN.......................................17
1. Mở giao diện phpmyadmin...........................................................................17
2. Tạo CSDL.....................................................................................................18
3. Hủy CSDL.....................................................................................................18
4. Tạo, hiệu chỉnh cấu trúc và hủy table............................................................19
4.1. Tạo table.......................................................................................................19
4.2. Hiệu chỉnh cấu trúc table..............................................................................20
4.3. Hủy table......................................................................................................20
5. Tạo khóa ngoại..............................................................................................21
6. Tạo Unique....................................................................................................21
7. Đọc, thêm, xóa, sửa dữ liệu...........................................................................22
8. Sao lưu và phục hồi dữ liệu...........................................................................23
8.1. Sao lưu dữ liệu.............................................................................................23
8.2. Phục hồi dữ liệu............................................................................................23 lOMoAR cPSD| 60797905
CÂU HỎI, BÀI TẬP...........................................................................................24
GỢI Ý, ĐÁP ÁN.................................................................................................24
BÀI 3: TỔNG QUAN VỀ PHP...........................................................................27
1. Cấu trúc đoạn mã PHP..................................................................................27
2. Sử dụng các lệnh xuất...................................................................................27 2.1. Lệnh xuất
echo.............................................................................................27 2.2. Lệnh xuất
print.............................................................................................28 2.3. Hàm
sprintf...................................................................................................28 2.3. Lệnh xuất
printf............................................................................................29 2.4. Lệnh
var_dump.............................................................................................29
3. Khai báo và sử dụng biến, hằng....................................................................29
4. Sử dụng các toán tử.......................................................................................30
CÂU HỎI, BÀI TẬP...........................................................................................31
BÀI 4: ĐỌC DỮ LIỆU TỪ ĐỊA CHỈ VÀ FORM..............................................33
1. $_GET...........................................................................................................33
2. $_POST.........................................................................................................33
3. $_REQUEST.................................................................................................34
CÂU HỎI, BÀI TẬP...........................................................................................34
GỢI Ý, ĐÁP ÁN.................................................................................................35
BÀI 5: THAO TÁC VỚI CÁC KIỂU DỮ LIỆU TRONG PHP.........................37
1. Luận lý...........................................................................................................37
2. Số nguyên......................................................................................................37
3. Số thực...........................................................................................................38
4. Hàm toán học................................................................................................38
5. Chuỗi, ký tự...................................................................................................39 lOMoAR cPSD| 60797905
6. Hàm trên chuỗi..............................................................................................39
7. Mảng..............................................................................................................39
7.1. Khai báo.......................................................................................................39
7.2. Truy xuất......................................................................................................41
7.3. Thêm phần tử vào mảng...............................................................................42
7.4. Hàm trên mảng.............................................................................................42
CÂU HỎI, BÀI TẬP...........................................................................................43
GỢI Ý, ĐÁP ÁN.................................................................................................44
BÀI 6: CẤU TRÚC ĐIỀU KHIỂN.....................................................................45
1. if, if … else....................................................................................................45
1.1. Cấu trúc if.....................................................................................................45
1.2. Cấu trúc if … else.........................................................................................45
2. switch............................................................................................................46
3. for, foreach....................................................................................................47
3.1. Vòng lặp for..................................................................................................47
3.2. Vòng lặp foreach..........................................................................................47
4. while, while … endwhile, do … while..........................................................49
Cú pháp while:.....................................................................................................49
Cú pháp while … endwhile:................................................................................49
Cú pháp do … while:...........................................................................................49
5. Các lệnh break, continue...............................................................................49
CÂU HỎI, BÀI TẬP...........................................................................................50
BÀI 7: XÂY DỰNG VÀ SỬ DỤNG HÀM........................................................51
1. Định nghĩa hàm.............................................................................................51
2. Tham số của hàm...........................................................................................51
CÂU HỎI, BÀI TẬP...........................................................................................52
BÀI 8: SỬ DỤNG INCLUDE VÀ REQUIRE...................................................53
1. include, include_once....................................................................................53 lOMoAR cPSD| 60797905
2. require, require_once.....................................................................................54
CÂU HỎI, BÀI TẬP...........................................................................................54
BÀI 9: TẠO CÁC LỚP ĐỐI TƯỢNG................................................................55
1. Tổng quan......................................................................................................55
2. Xây dựng lớp đối tượng (class).....................................................................56 2.1. Tạo lớp đối
tượng.........................................................................................56 2.2. Khai báo thuộc
tính......................................................................................56 2.3. Xây dựng phương
thức.................................................................................57 2.4. Từ khóa
static...............................................................................................58
3. Sử dụng lớp đối tượng...................................................................................58
CÂU HỎI, BÀI TẬP...........................................................................................60
GỢI Ý, ĐÁP ÁN.................................................................................................60
BÀI 10: TRUY XUẤT MYSQL TRONG PHP..................................................61
1. Giới thiệu PDO..............................................................................................61
2. Lý do chọn PDO............................................................................................61
3. Tạo kết nối – Hủy kết nối..............................................................................62 3.1 Tạo kết
nối.....................................................................................................62 3.2 Hủy kết
nối...................................................................................................63 3.3 Xử lý lỗi kết
nối............................................................................................63
4. Thực thi lệnh SQL.........................................................................................64 4.1 Các lệnh Insert, Update,
Delete....................................................................64 4.2 Câu lệnh
Select.............................................................................................64 lOMoAR cPSD| 60797905
5. Transaction....................................................................................................64
6. PDO Statement..............................................................................................65 6.1 Prepared
statement.......................................................................................65 6.2 Thực
thi........................................................................................................65 6.3 Duyệt dữ
liệu................................................................................................66 6.4 Truyền tham số trong câu truy
vấn...............................................................67 6.5 Đếm số lượng mẫu
tin..................................................................................67
CÂU HỎI, BÀI TẬP...........................................................................................69
GỢI Ý, ĐÁP ÁN.................................................................................................70
BÀI 11: CÁC ĐỐI TƯỢNG QUẢN LÝ TRONG PHP.....................................71
1. SESSION.......................................................................................................71 1. 1.Khái
niệm......................................................................................................71
1.2. Cách thức hoạt động.....................................................................................71
1.3. Khởi động session........................................................................................71
1.4. Đăng ký session............................................................................................72 1.5. Sử dụng
session.............................................................................................72
1.6. Hủy toàn bộ các biến session.......................................................................72
1.7. Hủy một biến session...................................................................................72
2. COOKIE........................................................................................................72
2.1. Khái niệm.....................................................................................................72
2.2. Khai báo cookie............................................................................................72
2.3. Sử dụng cookie.............................................................................................73
2.4. Hủy cookie...................................................................................................73
CÂU HỎI, BÀI TẬP...........................................................................................73 lOMoAR cPSD| 60797905
GỢI Ý, ĐÁP ÁN.................................................................................................73
TÀI LIỆU THAM KHẢO...................................................................................75 GIÁO TRÌNH MÔ ĐUN
Tên mô đun: Lập trình web PHP & MySQL Mã mô đun: MĐ29
Vị trí, tính chất, ý nghĩa và vai trò của mô đun:
 Vị trí: được bố trí sau khi học xong các môn cơ sở và Thiết kế web
 Tính chất: là mô đun tự chọn
 Ý nghĩa và vai trò của mô đun: cung cấp cho người học kiến thức và kỹ năng để
có thể thiết kế, xây dựng và phát triển ứng dụng web đơn giản bằng ngôn ngữ
PHP với Hệ quản trị cơ sở dữ liệu MySQL từ đó có thể ứng dụng xây dựng website
thương mại, quảng bá chuyên nghiệp từ các framework, CMS mã nguồn mở.
Mục tiêu của mô đun: Về kiến thức:
 Biết nguồn gốc và lợi ích của PHP và MySQL trong quá trình xây dựng và phát triển web
 Biết quy trình quản lý CSDL MySQL trên phpmyadmin
 Biết quy trình quản lý table trong CSDL MySQL trên phpmyadmin
 Biết cấu trúc đoạn mã, cú pháp trong lập trình PHP Về kỹ năng:
 Cài đặt và cấu hình gói XAMPP
 Quản lý CSDL MySQL trên phpmyadmin
 Đọc thông tin người dùng từ URI và FORM
 Tạo các tập tin cấu hình, thư viện để sử dụng cho nhiều site PHP
 Tạo các trang web tính toán, truy xuất CSDL MySQL bằng ngôn ngữ PHP
 Quản lý thông tin người dùng, tạo chức năng giỏ hàng bằng SESSION và COOKIE
Về năng lực tự chủ và trách nhiệm:
 Cẩn thận không làm ảnh hưởng đến hệ điều hành và các phần mềm khác trên máy
tính trong quá trình cài đặt
 Không thay đổi các thông tin hệ thống ảnh hưởng đến việc truy xuất CSDL trên phpmyadmin
 Tự tạo ứng dụng web thương mại đơn giản bằng PHP và MySQL
 Tham gia xây dựng ứng dụng web bằng PHP và MySQL
 Tự tìm hiểu để xây dựng ứng dụng web bằng các framework mã nguồn mở
PHP như: Wordpress, Joomla, … lOMoAR cPSD| 60797905
 Biết kiến thức tổng quan về PHP và MySQL
 Xây dựng và phát triển ứng dụng web bằng ngôn ngữ PHP với cơ sở dữ liệu MySQL
 Thực hiện các bài tập ứng dụng về web đảm bảo đúng trình tự. An toàn cho người và thiết bị
Nội dung của mô đun: lOMoAR cPSD| 60797905
BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL Mã bài: 29.1 Giới thiệu:
Các ngôn ngữ lập trình ứng dụng web hiện nay gồm: ASP.NET, PHP, JSP.
Trong đó, phổ biến nhất là ASP.NET và PHP (facebook được viết bằng PHP). Mỗi
ngôn ngữ lập trình thường phù hợp với một CSDL thông dụng. CSDL thông dụng
trong ngôn ngữ PHP là MySQL. Mục tiêu:
 Biết nguồn gốc của PHP, MySQL
 Biết lợi ích khi dùng PHP & MySQL để xây dựng và phát triển web
 Cài đặt và cấu hình gói XAMPP
 Cẩn thận không làm ảnh hưởng đến hệ điều hành và các phần mềm khác
trên máy tính trong quá trình cài đặt Nội dung chính: 1. Giới thiệu MySQL
MySQL là cơ sở dữ liệu nguồn mở phổ biến nhất Thế giới, cho phép phân phối
các ứng dụng cơ sở dữ liệu dựa trên nền tảng web với chi phí thấp và hiệu suất
cao. MySQL do tập đoàn ORACLE cung cấp. 2. Giới thiệu PHP
PHP là ngôn ngữ kịch bản thông dụng đặc trưng và phù hợp cho việc phát triển ứng dụng web.
Với những ưu điểm nhanh chóng, linh hoạt và thực tế, PHP đã phát huy sức mạnh
trên mọi ứng dụng từ blog cho đến những website phổ biến nhất trên Thế giới.
3. Cài đặt và cấu hình gói XAMPP 3.1. Cài đặt XAMPP
Bước 1: truy cập vào trang web https://www.apachefriends.org.
Bước 2: chọn phiên bản phù hợp với hệ điều hành trên máy tính.
Hình 1.1. Chọn phiên bản cài đặt XAMPP
Bước 3: chạy file cài đặt sau khi tải xong.
Bước 4: thực hiện cài đặt XAMPP vào C:\xampp.
3.2. Chọn chức năng khởi động và cấu hình các cổng
Bước 1: mở XAMPP Control Panel. lOMoAR cPSD| 60797905
Hình 1.2. Giao diện XAMPP Control Panel
Bước 2: click chuột lên nút Config để mở hộp thoại Configuration of Control Panel.
Hình 1.3. Hộp thoại Configuration of Control Panel 12
Bước 3: đánh dấu chọn Apache và MySQL trong nhóm Autostart of modules. Nếu
máy tính đã được cài đặt VMWare dẫn đến xung đột cổng dịch vụ thì chúng ta
phải tiếp tục thực hiện tiếp Bước 4. Ngược lại thì chọn Save hoàn tất cấu hình. lOMoAR cPSD| 60797905
Bước 4: click chuột lên nút Service and Port Settings. Xuất hiện hộp thoại Service Settings.
Hình 1.4. Hộp thoại Service Settings
Bước 5: thay đổi giá trị các cổng cho Main Port và SSL Port (Ví dụ: 8080 và 888) rồi chọn Save.
Bước 6: trên hộp thoại Configuration of Control Panel, tiếp tục chọn Save kết
thúc quá trình cấu hình các cổng dịch vụ.
3.3. Cấu hình tập tin httpd.conf và httpd-ssl.conf
Trong trường hợp phải thực hiện Bước 4 và Bước 5 của mục 3.2 thì chúng ta phải
tiếp tục cấu hình các tập tin httpd.conf và httpd-ssl.conf. Cấu hình httpd.conf
Bước 1: click chuột lên nút Config của Module Apache trong hộp thoại XAMPP Control Panel.
Hình 1.5. Chọn Config để cấu hình tập tin httpd.conf và httpd-ssl.conf
Bước 2: click chuột lên Apache httpd.conf trong danh sách sổ, xuất hiện của sổ
Notepad hiển thị nội dung cấu hình của tập tin httpd.conf.
Bước 3: trong cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hiện hộp thoại.
Bước 4: nhập nội dung vào Find whatReplace with lần lượt là 80 và 8080
Bước 5: thực hiện việc thay đổi nội dung Listen 80 thành Listen 8080
ServerName localhost:80 thành ServerName localhost:8080
Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình rồi đóng cửa sổ Notepad lOMoAR cPSD| 60797905 Cấu hình httpd-ssl.conf
Bước 1: click chuột lên nút Config của Module Apache trong hộp thoại XAMPP Control Panel.
Bước 2: chọn Apache (httpd-ssl.conf) trong danh sách sổ. Xuất hiện cửa sổ Notepad
hiển thị nội dung tập tin httpd-ssl.conf.
Bước 3: trong cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hiện hộp thoại.
Bước 4: nhập nội dung vào Find whatReplace with lần lượt là 443 và 888
Bước 5: thực hiện việc thay đổi nội dung Listen 443 thành Listen 888 và thành
Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình rồi đóng cửa sổ Notepad.
4. Khởi động các dịch vụ
Click chuột lên các nút Start của hai module Apache và MySQL để chạy các dịch vụ
tối thiểu lập trình PHP truy xuất MySQL.
Hình 1.6. Khởi động các dịch vụ tối thiểu cho lập trình PHP 14 lOMoAR cPSD| 60797905
Hình 1.7. Kết quả có được khi chạy thành công các dịch vụ CÂU HỎI, BÀI TẬP
1.1. Cài đặt XAMPP trên máy tính.
1.2. Kể tên 2 module quan trọng phải chạy cùng XAMPP để có thể lập trình PHP truy xuất MySQL.
1.3. Khi nào thì cần phải cấu hình các cổng dịch vụ của XAMPP?
1.4. Trình bày quy trình thay đổi các cổng dịch vụ và tập tin cấu hình của Bài 1.3. GỢI Ý, ĐÁP ÁN
1.1. Tải file cài đặt tại địa chỉ: https://www.apachefriends.org 1.2.
Hai module quan trọng: Apache, MySQL.
1.3. Khi có sự xung đột các cổng dịch vụ (Ví dụ: máy tính đã được cài đặt VMWare).
1.4. Cấu hình Main port và SSL port. Thay đổi nội dung httpd.conf và httpdssl.conf. lOMoAR cPSD| 60797905
BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN Mã bài: 29.2 Giới thiệu:
Một trong những công cụ để quản lý MySQL được sử dụng phổ biến nhất
hiện nay là ứng dụng web phpmyadmin. Với phpmyadmin, chúng ta có thể dễ
dàng quản lý MySQL bằng các thao tác click chuột trên giao diện web mà không
cần phải nhớ hết các cấu trúc lệnh sql. Mục tiêu:
 Biết quy trình tạo, hủy CSDL
 Biết quy trình tạo, hiệu chỉnh cấu trúc, hủy table
 Phân biệt các kiểu dữ liệu thông dụng trong MySQL
 Trình bày các bước cập dữ liệu trên table
 Biết quy trình sao lưu và phục hồi dữ liệu  Tạo đươc CSDL, table
 Tạo quan hệ giữa các table
 Cập nhật dữ liệu trên table
 Sao lưu và phục hồi dữ liệu
 Cẩn thận chọn đúng CSDL
 Không thay đổi các thông tin hệ thống ảnh hưởng đến việc truy xuất CSDL
trên phpmyadmin Nội dung chính:
1. Mở giao diện phpmyadmin
Cách 1: click chuột lên Admin của module MySQL trong XAMPP Control Panel.
Hình 2.1. Mở phpmyadmin từ XAMPP Control Panel
Cách 2: truy cập vào địa chỉ
http://localhost/phpmyadmin (hoặc http://localhost:8080/phpmyadmin) lOMoAR cPSD| 60797905
Hình 2.2. Giao diện phpmyadmin quản lý MySQL 2. Tạo CSDL
Bước 1: trong giao diện phpmyadmin, click chuột lên biểu tượng Home ở khung trái.
Bước 2: chọn Databases ở khung phải.
Bước 3: nhập tên CSDL cần tạo (Bookstore), chọn utf8mb4_general_ci trong
danh sách Collation rồi chọn Create.
Hình 2.3. Nhập tên và chọn Collation để tạo CSDL mới 3. Hủy CSDL
Bước 1: chọn biểu biểu Home. Bước 2: chọn Databases.
Bước 3: đánh dấu chọn CSDL cần hủy rồi click chọn biểu tượng Drop. lOMoAR cPSD| 60797905
Hình 2.4. Danh sách cơ sở dữ liệu
4. Tạo, hiệu chỉnh cấu trúc và hủy table 4.1. Tạo table
Bước 1: click chuột lên biểu tượng New trong CSDL.
Hình 2.5. Cây danh sách table trong cơ sở dữ liệu
Bước 2: nhập tên table cần tạo, khai báo danh sách cột và kiểu dữ liệu.
Hình 2.6. Tạo table Lưu ý:  Name: nhập tên cột lOMoAR cPSD| 60797905
 Type: chọn kiểu dữ liệu
 Length: kích thước/độ dài (khi Type là CHAR/VARCHAR)
 Chọn cột làm khóa: chọn PRIMARY trong danh sách Index của cột tương ứng
 Khi khóa gồm nhiều cột: chọn PRIMARY cho các cột tương ứng
 A_I (Auto Increment): giá trị của cột sẽ tự phát sinh tăng dần khi thêm dòng
dữ liệu mới vào table. Nghĩa là, khi nhập dòng dữ liệu mới thì chúng ta không
cần phải nhập giá trị cho cột này. Chỉ sử dụng khi table có duy nhất một cột
làm khóa và Type của cột đó là số nguyên.
Bước 3: click chuột lên nút
4.2. Hiệu chỉnh cấu trúc table
Bước 1: ở khung trái, chọn table cần hiệu chỉnh. Bước
2: chọn Structure ở khung phải.
Hình 2.7. Cấu trúc của table
 Mỗi dòng là một cột của table.
 Muốn xóa cột nào thì click chuột lên biểu tượng Drop trên dòng tương ứng.
 Muốn thay đổi thông tin của cột thì click chuột lên Change
 Muốn thêm cột thì nhập số cột cần thêm vào ô Add bên dưới rồi chọn Go 4.3. Hủy table
Bước 1: chọn CSDL trong khung trái.
Hình 2.8. Danh sách table trong CSDL
Bước 2: trong hình trên, mỗi dòng là một table bên trong CSDL. Muốn hủy table
nào thì chọn click chuột lên biểu tượng trên dòng tương ứng. lOMoAR cPSD| 60797905 Biểu tượng
sẽ xóa tất cả dữ liệu trong table nhưng không hủy table. 5. Tạo khóa ngoại
Ví dụ: Tạo quan hệ 1-N cho các table chude và sach (một chude có nhiều sach).
Bước 1: chọn cơ sở dữ liệu, table sach trong cây bên trái. Bước 2: chọn Structure.
Bước 3: chọn Relation view.
Bước 4: nhập tên cho khóa ngoại (FK_SACH_CHUDE), chọn cột làm quan hệ
trong các table sach và chude rồi chọn Save.
Hình 2.9. Tạo khóa ngoại 6. Tạo Unique
Unique: không phải là khóa của table nhưng vẫn được kiểm tra là duy nhất khi
thêm hoặc sửa các dòng dữ liệu trong table.
Bước 1: chọn cơ sở dữ liệu, table sach trong cây bên trái. Bước 2: chọn Structure.
Bước 3: nhập số cột làm Unique rồi chọn Go.
Hình 2.10. Xác định số cột làm Unique
Bước 4: đặt tên, chọn UNIQUE trong danh sách Index choice, chọn các cột rồi chọn Go. lOMoAR cPSD| 60797905
Hình 2.11. Khai báo thông tin Unique
7. Đọc, thêm, xóa, sửa dữ liệu
Bước 1: chọn cơ sở dữ liệu, table trong khung trái.
Bước 2: chọn Browse trong khung phải để xem dữ liệu.
Hình 2.12. Các dòng dữ liệu trong table
 Click chuột lên biểu tượng
để hiện chỉnh dòng dữ liệu tưng ứng
 Click chuột lên biểu tượng để xóa dòng dữ liệu
Bước 3: muốn thêm dữ liệu thì click chuột lên biểu tượng
Bước 4: nhập thông tin cho dòng dữ liệu cần thêm rồi click chuột lên nút Go.
Hình 2.13. Giao diện thêm dòng dữ liệu mới