Bài giảng Lập trình Web động với PHP/ MySQL (Mới)
1.1 Ngôn ngữ PHP và MySQL
PHP Hypertext Preprcessr (PHP) là một ngôn ngữ lập trình ch phép các lập trình viên web
tạ các nội dung động mà tương tác với Database. Về cơ bản, PHP được sử dụng để phát
triển các ứng dụng phần mềm trên web.
PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng the đà phát triển, ngày càng
nhiều người thấy rằng nó càng ngày càng hữu ích. PHP được phát triển từ một sản phẩm
có tên là PHP/FI. PHP/FI d Rasmus Lerdrf tạ ra năm 1994, ban đầu được xem như là một
tập cn đơn giản của các mã kịch bản Perl để the dõi tình hình truy cập đến bản sơ yếu lý
lịch của ông trên mạng. Ông đã đặt tên ch bộ mã kịch bản này là "Persnal Hme Page Tls".
Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để
có thể truy vấn tới Database và giúp ch người sử dụng phát triển các ứng dụng web đơn
giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI ch mọi người xem, sử dụng
cũng như sửa các lỗi có trng nó, đồng thời cải tiến mã nguồn. PHP đã phát triển rất nhanh
chóng và trở thành ngôn ngữ lập trình web phổ biến nhất trên thế giới hiện nay.
1.1.1 Ngôn ngữ lập mã ngồn mở
Một số đặc điểm quan trọng của PHP:
PHP viết hồi qui của "PHP: Hypertext Preprcessr".
PHP là ngôn ngữ lập trình kịch bản viết ch máy chủ mà được nhúng trng
HTML. Nó được sử dụng để quản lý nội dụng động, Database, Sessin tracking,
Nó được tích hợp với một số Database thông dụng như MySQL, PstgreSQL,
racle, Sybase, Infrmix, và Micrsft SQL Server.
PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache
Mdule trên Unix side. MySQL Server, khi được khởi động, thực thi các truy
vấn phức tạp với các tập hợp kết quả khổng lồ trng thời gian Recrd-setting.
PHP hỗ trợ một số lượng rộng rãi các gia thức lớn như PP3, IMAP, và LDAP.
PHP4 bổ sung sự hỗ trợ ch Java và các cấu trúc đối tượng phân phối (CM và
CRBA).
Cú pháp PHP là giống C.
PHP thực hiện các hàm hệ thống, ví dụ: từ các file trên một hệ thống, nó có thể
tạ, mở, đọc, ghi và đóng chúng.
PHP có thể xử lý các frm, ví dụ: thu thập dữ liệu từ file, lưu dữ liệu và một file,
thông qua email bạn có thể gửi dữ liệu, trả về dữ liệu tới người dùng.
Bạn có thể thêm, xóa, sửa đổi các phần tử bên trng Database của bạn thông qua
PHP.
Truy cập các biến Ckie và thiết lập Ckie.
Sử dụng PHP, bạn có thể hạn chế người dùng truy cập và một số trang trng
Website của bạn.
5 đặc trưng quan trọng làm PHP trở thành ngôn ngữ phổ biến:
Đơn giản hóa
Hiệu quả
Bả mật ca
Linh động
Thân thiện
Tóm tắt nội dung tài liệu: Bài giảng Lập trình Web động với PHP/ MySQL (Mới)
1
(Tài liệu lƣu hành nội bộ)
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN
LẬP TRÌNH WEB ĐỘNG VỚI PHP & MYSQL
Hƣng Yên
2
3
MỤC LỤC
BÀI 1. BÀI 01: TỔNG QUAN VỀ PHP VÀ MYSQL .............................. 7
1.1 Ngôn ngữ PHP và MySQL ...................................................................................... 7
1.1.1 Ngôn ngữ lập mã ngồn mở ................................................................................................ 7
1.1.2 Các đặc điểm PHP ............................................................................................................. 8
1.1.3 Cơ bản về hệ quản trị CSDL mySQL ................................................................................. 8
1.2 Cơ bản về cú pháp ngôn ngữ PHP.......................................................................... 8
1.2.1 Thẻ (tag) trng PHP ............................................................................................................ 8
1.2.2 Biến, hằng trng PHP .......................................................................................................... 9
1.2.3 Tán tử trng PHP ...............................................................................................................10
1.2.4 Lệnh chú thíc trng PHP ....................................................................................................12
1.3 Cài đặt và cấu hình máy chủ Apache server ........................................................ 13
BÀI 2. BÀI 02: CẤU TRÚC ĐIỀU KHIỂN TRNG PHP ....................... 15
2.1 Cấu trúc rẽ nhánh ................................................................................................. 15
2.1.1 Câu lệnh if else .................................................................................................................15
2.1.2 Câu lênh swicth case ........................................................................................................16
2.2 Cấu trúc lặp For .................................................................................................... 17
2.2.1 Cấu trúc của for ................................................................................................................17
2.2.2 Cấu trúc foreach ...............................................................................................................18
2.3 Cấu trúc lặp While ................................................................................................ 18
2.3.1 cấu trúc whie ....................................................................................................................18
2.3.2 Cấu trúc do while .............................................................................................................19
2.4 Lệnh ngắt trng PHP .............................................................................................. 20
2.4.1 Lệnh Break .......................................................................................................................20
2.4.2 Lệnh Cntinue ....................................................................................................................21
BÀI 3. BÀI 03: LÀM VIỆC VỚI DỮ LIỆU FRM .................................. 22
3.1 Thẻ PHP kết hợp với HTML ................................................................................ 22
3.1.1 Thẻ PHP ...........................................................................................................................22
3.1.2 Ví dụ về kết hợp PHP và HTML .......................................................................................22
3.2 Nhận dữ liệu từ web .............................................................................................. 22
3.2.1 Nhận dữ liệu he POST ......................................................................................................22
3.2.2 Nhận dữ liệu the GET .......................................................................................................23
3.3 Xuất dữ liệu về phía trình duyệt ........................................................................... 24
3.3.1 Hàm Print .........................................................................................................................24
4
3.3.2 Hàm Echo ........................................................................................................................ 25
3.4 Nhúng trang PHP và trng trang PHP ...................................................................25
3.4.1 Hàm Include và include_one ............................................................................................ 25
3.4.2 Hàm Require và Require_one ........................................................................................... 25
BÀI 4. LÀM VIỆC VỚI DỮ LIỆU MẢNG TRNG PHP ....................... 27
4.1 Định nghĩa mảng trng PHP ...................................................................................27
4.2 Khái niệm mảng kết hợp trng PHP.......................................................................27
4.3 Thao tác các phần tử trong mảng .........................................................................27
4.3.1 Đa mảng trong PHP ......................................................................................................... 30
BÀI 5. LÀM VIỆC VỚI DỮ LIỆU KIỂU XÂU CHUỖI ....................... 32
5.1 Chuỗi trng PHP .....................................................................................................32
5.2 các tán tử tha tác chuỗi ..........................................................................................32
5.3 Hàm tha tác chuỗi ..................................................................................................32
BÀI 6. LÀM VIỆC VỚI FILE TỆP VÀ UPLAD FILE ......................... 36
6.1 Đƣờng dẫn trng PHP .............................................................................................36
6.1.1 Cấu trúc đường dẫn .......................................................................................................... 36
6.1.2 Tha tác với các thư mục thông qua đường dẫn .................................................................. 36
6.2 Thao tác với File tệp ..............................................................................................37
6.2.1 Các hàm tha tác với File tệp ............................................................................................. 37
6.2.2 Đọc file ............................................................................................................................ 38
6.2.3 Ghi file............................................................................................................................. 39
6.3 Uplad File trng PHP ..............................................................................................40
6.3.1 Hàm Uplad file tệp ........................................................................................................... 40
6.3.2 Xây dựng ứng dụng Uplad file tệp .................................................................................... 40
BÀI 7. LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG .......................................... 43
7.1 Khái niệm về hàm và cách khai báo......................................................................43
7.1.1 Khái niệm về hàm và sử dụng lại mã ................................................................................ 43
7.1.2 Cách khai báo hàm trng PHP ............................................................................................ 43
7.1.3 Hàm tự định nghĩa với giá trị trả về .................................................................................. 43
7.1.4 Gọi lại hàm trng PHP ....................................................................................................... 44
7.2 Lập tình hƣớng đối tƣợng trng PHP .....................................................................44
7.3 Khai bá đối tƣợng và cách xây dựng .....................................................................45
7.3.1 Cấu trúc đối tượng ........................................................................................................... 45
7.3.2 Các thành phần của đối tượng........................................................................................... 46
5
7.3.3 Một số từ khóa trng lập trình hướng đối trượng .................................................................47
7.3.4 Xây dựng lớp ...................................................................................................................48
BÀI 8. LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG 02 ..................................... 51
8.1 Sử dụng đối tƣợng trng PHP ................................................................................ 51
8.1.1 Từ khóa New, this ............................................................................................................51
8.1.2 Tán tử tha tác thành phần “->” ..........................................................................................51
8.1.3 Sử dụng các thuộc tính và hàm .........................................................................................51
8.2 Kế thừa trng PHP ................................................................................................. 53
8.3 Lớp interface ......................................................................................................... 53
8.4 Hàm abstract ......................................................................................................... 54
BÀI 9. LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI MYSQL ............................ 56
9.1 Giới thiệu về hệ quản trị CSDL MySQL .............................................................. 56
9.2 Các lệnh cơ bản trên MySQL ............................................................................... 57
9.3 Kết nối cơ sở dữ liệu MySQL từ PHP .................................................................. 58
9.4 Đọc dữ liệu từ MySQL .......................................................................................... 59
BÀI 10. LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI MYSQL 2 ....................... 62
10.1 Ghi dữ liệu và CSDL mySQL ............................................................................. 62
10.2 Cập nhật dữ liệu .................................................................................................. 62
10.3 Xóa dữ liệu .......................................................................................................... 63
10.4 Một số phƣơng pháp kết nối CSDL .................................................................... 63
BÀI 11. BIẾN ĐỐI TƢỢNG TRNG PHP ............................................... 68
11.1 Giới thiệu về các biến phía server....................................................................... 68
11.2 Làm việc với Server ............................................................................................ 69
11.3 Làm việc Sessin ................................................................................................... 70
11.4 Làm việc Cookie .................................................................................................. 72
BÀI 12. TỔNG QUAN VỀ LẬP TRÌNH CDEIGNITER ...................... 75
12.1 Giới thiệu về Cdeigniter ...................................................................................... 75
12.2 Đặc điểm của CodeIgniter .................................................................................. 75
12.3 Cài đặt CodeIgniter............................................................................................. 75
12.4 Cấu trúc một mdule trong CodeIgniter ............................................................. 76
12.5 Viết ứng dụng đầu tiên ........................................................................................ 78
12.6 Thực hiện kết nối CSDL ..................................................................................... 78
6
BÀI 1. TL 1 VIẾT ỨNG DỤNG CƠ BẢN TRÊN PHP ......................... 82
BÀI 2. TL 2 BÀI TÁN TÌM KIẾM TRÊN XÂU .................................... 83
BÀI 3. TL 3 VIẾT WEBSITE THE MÔ HÌNH HƢỚNG ĐỐI TƢỢNG
84
BÀI 4. TL 4 SỬ DỤNG CƠ SỞ DỮ LIỆU THIẾT KẾ WEBSITE ....... 85
BÀI 5. TL 5 XÂY DỰNG GIỎ HÀNG TRÊN PHP ............................... 86
BÀI 1. TH 01 CÁC PHÉP TÁN CƠ BẢN .............................................. 87
BÀI 2. TH 02. THA TÁC VỚI MẢNG VÀ XÂU .................................. 91
BÀI 3. TH 03 LÀM VIỆC VỚI DỮ LIỆU TỆP ..................................... 96
BÀI 4. TH 04 LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG ............................ 102
BÀI 5. TH 05: LẬP TRÌNH CƠ SỞ DỮ LIỆU .................................... 111
BÀI 6. TH 06: LẬP TRÌNH CƠ SỞ DỮ LIỆU .................................... 115
BÀI 7. TH 07. SỬ DỤNG BIẾN ĐỐI TƢỢNG TRONG PHP ............ 121
BÀI 8. TH 08. CÀI ĐẶT KHAI THÁC CODEIGNITER................... 126
7
PHẦN LÝ THUYẾT
Bài 1. Tổng quan về PHP và MySQL
1.1 Ngôn ngữ PHP và MySQL
PHP Hypertext Preprcessr (PHP) là một ngôn ngữ lập trình ch phép các lập trình viên web
tạ các nội dung động mà tương tác với Database. Về cơ bản, PHP được sử dụng để phát
triển các ứng dụng phần mềm trên web.
PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng the đà phát triển, ngày càng
nhiều người thấy rằng nó càng ngày càng hữu ích. PHP được phát triển từ một sản phẩm
có tên là PHP/FI. PHP/FI d Rasmus Lerdrf tạ ra năm 1994, ban đầu được xem như là một
tập cn đơn giản của các mã kịch bản Perl để the dõi tình hình truy cập đến bản sơ yếu lý
lịch của ông trên mạng. Ông đã đặt tên ch bộ mã kịch bản này là "Persnal Hme Page Tls".
Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để
có thể truy vấn tới Database và giúp ch người sử dụng phát triển các ứng dụng web đơn
giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI ch mọi người xem, sử dụng
cũng như sửa các lỗi có trng nó, đồng thời cải tiến mã nguồn. PHP đã phát triển rất nhanh
chóng và trở thành ngôn ngữ lập trình web phổ biến nhất trên thế giới hiện nay.
1.1.1 Ngôn ngữ lập mã ngồn mở
Một số đặc điểm quan trọng của PHP:
PHP viết hồi qui của "PHP: Hypertext Preprcessr".
PHP là ngôn ngữ lập trình kịch bản viết ch máy chủ mà được nhúng trng
HTML. Nó được sử dụng để quản lý nội dụng động, Database, Sessin tracking,
Nó được tích hợp với một số Database thông dụng như MySQL, PstgreSQL,
racle, Sybase, Infrmix, và Micrsft SQL Server.
PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache
Mdule trên Unix side. MySQL Server, khi được khởi động, thực thi các truy
vấn phức tạp với các tập hợp kết quả khổng lồ trng thời gian Recrd-setting.
PHP hỗ trợ một số lượng rộng rãi các gia thức lớn như PP3, IMAP, và LDAP.
PHP4 bổ sung sự hỗ trợ ch Java và các cấu trúc đối tượng phân phối (CM và
CRBA).
Cú pháp PHP là giống C.
PHP thực hiện các hàm hệ thống, ví dụ: từ các file trên một hệ thống, nó có thể
tạ, mở, ... y.edu.vn
Thêm các thông tin có trong bảng sữa vào bang_tam
Hãy cập nhật lại đơn giá của sữa theo công thức sau: đơn giá = đơn giá cũ + 3%
114
Hãy tạo thêm cột trị giá cho bảng hoa_don sau đó tính trị giá cho mỗi hóa đơn và
cập nhật cho cột trị giá của bảng này.
Hãy cập nhật lại giá tiền cho sữa trong bảng tạm có tên là 'canximex': giá mới là
116000 VNĐ
Hãy cập nhật lại tên cho khách hàng có mã khách hàng 'KH005': tên mới là 'Lê
Duy Anh'
Hãy cập nhật lại tên của loại sữa: 'sữa chua' thành sữa 'yaourt'
Hãy cập nhật lại đơn giá cho các sữa của hãng sữa Abbott: mỗi sữa có đơn giá tăng
thêm 3000 VNĐ
Hãy xóa khách hàng có mã khách hàng là 'KH007'
Hãy xóa những sữa có trọng lượng nhỏ hơn 200gr hoặc có đơn giá nhỏ hơn 10.000
VNĐ có trong bảng bang_tam
115
Bài 6. TH 06: Lập trình cơ sở dữ liệu
Phần 1. Bài tập có hƣớng dẫn
Bài 1. Kết nối CSDL bằng MySQLi
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
Bài 2. Kết nối cơ sở dữ liệu bằng PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
Phần 2. Bài tập tự làm
Bài 1. Mục đích:
Làm quen với cách dùng PHP để kết nối vào MySQL
Biết cách chọn một CSDL và viết câu lệnh truy vấn dữ liệu
Làm quen với cách hiển thị dữ liệu trên lưới (table)
Yêu cầu:
Tạo ra một trang hiển thị thông tin như sau:
Yêu cầu chức năng
116
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
luoi_tho_hang_sua
Thực hiện:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng HANG_SUA
Xuất các thông tin về hãng sữa dưới dạng lưới thô (table)
như hình trên.
Bài 2. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu có định dạng
Yêu cầu:
Thiết kế trang hiển thị thông tin khách hàng có định dạng như sau
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
luoi_dinh_dang
Thực hiện:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng khach_hang
Xuất các thông tin về khách hàng dạng lưới có định dạng như
hình trên, trong đó: dòng tiêu đề có các cột được canh giữa, chữ
in đậm, có màu khác so với các dòng nội dung; dòng chẵn và
dòng lẻ ở phần nội dung có màu nền khác nhau; cột giới tính
được canh giữa
Bài 3. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu có cột tùy biến
Yêu cầu:
Thiết kế trang hiển thị thông tin khách hàng có tùy biến cột giới tính như sau
117
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
luoi_tuy_bien
Thực hiện:
Kết nối vào MySQL, chọn CSDL QL_BAN_SUA
Đọc bảng khach_hang
Xuất các thông tin về khách hàng dạng lưới có định dạng như hình
trên, trong đó: dòng tiêu đề có các cột được canh giữa, chữ in
đậm, có màu khác so với các dòng nội dung; dòng chẵn và dòng lẻ
hiển thị nội dung có màu nền khác nhau.
Cột giới tính được canh giữa và sẽ hiển thị thông tin như sau: nếu
giới tính của khách hàng là Nam thì hiển thị hình tượng trưng cho
phái Nam, còn nếu ngược lại thì hiển thị hình tượng trưng cho
phái Nữ như hình trên
Bài 4. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu có phân trang
Ôn lại cách sử dụng class
Yêu cầu:
Thiết kế trang hiển thị thông tin sữa có phân trang như sau:
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
luoi_phan_trang
Yêu cầu:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng sữa, loại sữa, hãng sữa
Sử dụng class pager để thực hiện việc phân trang, trong đó:
Mỗi trang gồm có hai dòng dữ liệu
Xuất thông tin dạng lưới có định dạng như hình trên (dòng
chẵn và dòng lẻ có màu nền, màu chữ khác nhau, giá sữa định
118
dạng theo kiểu tiền tệ)
Hiển thị danh sách trang theo dạng số
Bài 5. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu dạng list đơn giản
Yêu cầu:
Tạo trang hiển thị thông tin các sản phẩm sữa dạng list như hình sau:
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
list_don_gian
Yêu cầu:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng sữa
hiết kế và hiển thị thông tin các sản phẩm sữa như hình trên, trong
đó:
Mỗi sữa hiển thị trên một dòng có hai cột: cột hình ảnh và cột
nội dung (có tên sữa, hãng sản xuất, loại sữa, trọng lượng, đơn giá)
Bài 6. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu dạng list cột
Yêu cầu:
Tạo trang hiển thị thông tin các sản phẩm sữa dạng list như hình sau:
119
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
list_dang_cot
Yêu cầu:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng sua
Thiết kế và hiển thị thông tin các sản phẩm sữa như hình trên, trong
đó:
Mỗi dòng có năm cột, trong mỗi cột có một table hiển thị
thông tin sữa (tên sữa, trọng lượng, đơn giá) và hình ảnh.
Bài 7. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu dạng list cột, có link qua trang chi tiết và hiển
thị thông tin chi tiết tương ứng với link đã chọn
Yêu cầu:
Tạo hai trang, trong đó:
Trang đầu hiển thị thông tin các sản phẩm sữa dạng list và có link như hình sau:
Trang sau hiển thị chi tiết của sản phẩm sữa đã chọn của trang trƣớc:
120
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
list_dang_cot_
co_link
Yêu cầu:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng sua
Thiết kế và hiển thị thông tin các sản phẩm sữa như hình trên,
trong đó:
Mỗi dòng có năm cột, trong mỗi cột có một table hiển thị
thông tin sữa và hình ảnh tương ứng.
Ở mỗi tên sữa tạo một link qua trang list_chi_tiet và truyền
vào mã sữa
2 trang
list_chi_tiet
Yêu cầu:
Hiển thị chi tiết sản phẩm sữa như định dạng hình trên tương
ứng với mã sữa lấy được từ trang list_dang_cot_co_link truyền
qua.
Bài 8. Mục đích:
Ôn lại cách kết hợp PHP và MySQL đọc dữ liệu trong bảng của CSDL
Làm quen với cách hiển thị dữ liệu dạng list chi tiết và có phân trang
Yêu cầu:
Tạo trang hiển thị thông tin chi tiết các sản phẩm sữa dạng list có phân trang:
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 trang
list_phan_trang
Yêu cầu:
Kết nối vào MySQL
Chọn CSDL QL_BAN_SUA
Đọc bảng sữa
Thiết kế và hiển thị thông tin các sản phẩm sữa có phân trang
như hình trên, trong đó:
Gọi sử dụng class pager cho sẵn để phân trang (hai sản
phẩm một trang).
121
Bài 7. TH 07. Sử dụng biến đối tƣợng trong PHP
Phần 1. Bài tập có hƣớng dẫn
Bài 1. Ví dụ về biến Session:
- Tạo biến session
<?php
// Start the session
session_start();
?>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
- Gọi lại biến sesion
<?php
session_start();
?>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
Bài 2. Tạo và gọi lại biến Cookie
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
Bài 3. Sửa đổi thông tin biến Cookie
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
122
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
Bài 4. Xoá biến Cookie
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<?php
echo "Cookie 'user' is deleted.";
?>
Phần 2. Bài tập tự làm
Bài 1. Mục đích:
Làm quen với cách tạo và sử dụng session
Ôn lại các điều khiển đã học: TextField và Button
Yêu cầu:
Tạo hai trang PHP có tên là tao_session và doc_session sau đó thực hiện các yêu
cầu sau.
Thiết kế hai trang nhƣ sau
Trang 1: tao_session
Kết quả sau khi nhấn Đăng nhập
Trang 2: doc_session
Kết quả sau khi nhấn Click here! của trang tao_session
123
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu
1 Form Đặt tên cho Form
Thiết lập phương thức cho Form là post
Và action của Form là tên của trang
2 Điều khiển Sử dụng điều khiển TextField, Button
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 Nút lệnh
Đăng nhập
Khi chọn, thực hiện tính
Lấy giá trị trên TextField sau đó gán cho các biến session sau đó hiển
thị như hình trên
Khi người dùng chọn link thì sẽ chuyển sang trang doc_session
Ở trang doc_session yêu cầu đọc các biến session đã có ở trang
tao_session và hiển thị như hình trên
Khi người dùng chọn link thì sẽ quay trở về trang tao_session
Bài 2. Mục đích:
Làm quen với cách tạo và sử dụng cookie
Yêu cầu:
Tạo hai trang PHP có tên là tao_cookie và doc_cookie sau đó thực hiện yêu cầu.
Thiết kế hai trang nhƣ sau
tao_cookie
Kết quả sau khi nhấn Xác nhận
doc_cookie
Kết quả sau khi nhấn Click here! của trang tao_cookie
124
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu
1 Form Đặt tên cho Form
Thiết lập phương thức cho Form là post
Và action của Form là tên của trang
2 Điều khiển Sử dụng điều khiển TextField, Button
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 Nút lệnh
Xác nhận
Khi chọn, thực hiện tính
Lấy giá trị trên TextField gán cho biến cookie sau đó hiển thị như
hình trên
Khi người dùng chọn link thì sẽ chuyển sang trang doc_cookie
Ở trang doc_cookie yêu cầu đọc biến cookie đã có ở trang
tao_cookie và hiển thị như hình trên
Khi người dùng chọn link thì sẽ quay trở về trang tao_cookie
Bài 3. Mục đích:
Ôn lại cách tạo và sử dụng session
Ôn lại các điều khiển đã học: TextField, List/Menu và Button
Yêu cầu:
Tạo hai trang PHP có tên là dang_nhap_session và dat_hang_session sau đó thực
hiện yêu cầu sau:
Thiết kế hai trang như sau
Trang 1: dang_nhap_session
Kết quả sau khi nhấn Đăng nhập
Trang 2: dat_hang_session
Kết quả sau khi nhấn Qua trang đặt hàng của trang dang_nhap_session
125
Kết quả sau khi nhấn Đặt hàng
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu
1 Form Đặt tên cho các Form
Thiết lập phương thức cho Form là post
Và action của Form là tên của trang
2 Điều khiển Sử dụng điều khiển TextField, List/Menu Button
Yêu cầu chức năng
Stt Đối tượng Yêu cầu xử lý chức năng
1 Nút lệnh
Đăng nhập
Khi chọn, thực hiện:
Lấy giá trị trên TextField sau đó gán cho các biến session sau đó
hiển thị như hình trên
Khi người dùng chọn link thì sẽ chuyển sang trang
dat_hang_session
Ở trang dat_hang_session yêu cầu đọc biến session đã có ở trang
dat_hang_session và hiển thị như hình trên
2 Nút lệnh
Đặt hàng
Khi chọn, thực hiện:
Yêu cầu người dùng chọn mặt hàng và điền địa chỉ giao hàng.
Hiển thị thông tin đặt hàng với địa chỉ của người đặt được viết hoa
đầu từ.
Khi người dùng chọn link thì sẽ quay về trang dang_nhap_session.
126
Bài 8. TH 08. Cài đặt khai thác CodeIgniter
Phần 1. Bài tập có hƣớng dẫn
Bài 1. Tạo trang web đầu tiên sử dụng CodeIgniter.
Mục đích:
Làm quen với việc tạo một mô hình 3 lớp với CodeIgniter.
Hƣớng dẫn:
Tạo 1 file index.php trong thư mục application/controllers và viết vào nội dung sau:
<?php
class Index extends CODEIGNITER_Controller{
public function __construct(){
parent::__construct();
}
public function index(){
echo "Hello CodeIgniter";
}
}
Bài 2. Viết chƣơng trình giải phƣơng trình bậc nhất trên CodeIgniter.
Hƣớng dẫn:
Bước 1. Trong thư mục application/controllers tạo file ptb1.php có nội dung sau:
<?php
defined('BASEPATH') OR exit('Khong tim thay');
class Ptbac1 extends CODEIGNITER_Controller {
public function __construct(){
parent::__construct();
}
public function index(){
$a=1;
$kq1="";
$c=$this->input->post("gpt");
if(isset($c)){
$a=$this->input->post("txt1");
$b=$this->input->post("txt2");
$x=-$b/$a;
$kq1="Ket qua phuong trinh: $x";
}
$kq=array('kq' => $kq1);
$this->load->view("giaipt",$kq);
}
}
Bước 2. Tạo form giao diện trong thư mục view có tên là giaipt.php
GIai PT
Giai PT bac nhat
A=
B=
127
<?php
echo "$kq";
?>
Bài 3. Thực hiện kết nối CSDL với CodeIgniter
Bước 1. Tạo một database trong mysql tên là CodeIgniterhd.
Bước 2. Chỉnh sửa file config/database.php
'dsn' => '',
'hostname' => 'localhost', //địa chỉ máy chủ
'username' => 'root', //Tên đăng nhập
'password' => 'root', //mật khẩu
'database' => 'CodeIgniterhd', //tên cơ sở dữ liệu
'dbdriver' => 'mysqli', //kiểu kết nối
'dbprefix' => '',
Bước 3. Tạo file datatest.php trong thư mục models có nội dung sau:
<?php
class datatest extends CODEIGNITER_Model
{
public function __construct(){
parent:__construct;
}
public function get_test(){
$query=$this->db->query('select * from test');
if($query->num_rows()>0){
return $query->result_array();
}
return false;
}
}
?>
Bước 4. Tạo file datatest.php trong thư mục controllers có nội dung sau:
<?php
//defined('BASEPATH') OR exit('Khong tim thay');
class Datatest extends CODEIGNITER_Controller {
public function __construct(){
parent::__construct();
$this->load->model('data_test');
}
public function index(){
//$vi=$this->data->get_test();
//$dl['vi']=$vi;
//$dl['path']=array('vi');
$this->load->view('datatest');
}
}
Bước 5. Tạo file datatest.php trong thư mục views có nội dung:
Test Database
" />
128
ID
Name
<?php
//$vi=$data['test'];
foreach ($test as $sv) {
?>
<?php
echo $sv['id'];
?>
<?php
echo $sv['names'];
?>
<?php
}
?>
Lưu lại và chạy ứng dụng.
Phần 2. Bài tập tự làm
Thực hiện các yêu cầu trong bài tập thực hành 6 sử dụng lập trình CodeIgniter.
File đính kèm:
bai_giang_lap_trinh_web_dong_voi_php_mysql_moi.pdf

