BÀI GIẢNG:
PHP (Hypertext Preprocessing)
Biên soạn: Nguyễn Phú Quảng
Bộ môn: Tin học Xây dựng
Nội dung trình bày
I.
II.
III.
Làm quen với PHP
PHP Căn bản
Các tính năng cho ứng dụng Web base
Làm việc với Form
II. Các hàm làm việc với MySQL
III. Làm việc với File
IV. Các hàm làm việc với hình ảnh
V.
Các hàm trên ngày tháng
VI. Các hàm trên dữ liệu
VII. Cookies và QueryString
VIII. Session
IX. Gỡ lỗi
I.
I. Làm quen với PHP
I.1.
I.2.
I.3.
I.4.
I.5.
I.6.
I.7.
PHP là gì?
Lịch sử phát triển của PHP
Lý do chọn PHP
Zend Engine
Cài đặt PHP
Chương trình PHP đầu tiên
Các IDE cho PHP
I.1. PHP là gì?
PHP được phát triển từ ngơn ngữ kịch bản (script)
với mục đích xây dựng trang Web cá nhân (Personal
Home Page). Sau đó đã được phát triển thành một ngơn
ngữ hồn chỉnh và được ưa chuộng trên tồn thế giới
trong việc phát triển các ứng dụng Web based
Theo NetCraft:
–
–
Tháng 11 năm 1999, hơn 1 triệu máy chủ
Tháng 9 năm 2000, hơn 1.4 triệu máy
PHP (PHP: Hypertext Perprocessor) là ngơn ngữ kịch
bản lập trình phía máy chủ (server-side) phổ biến
nhất thế giới.
PHP thường hoạt động theo thứ tự sau:
–
–
–
Người dùng gửi yêu cầu lên máy chủ
Máy chủ xử lý u cầu (Thơng dịch mã PHP và chạy chương
trình, mã PHP có thể truy xuất CSDL, tạo hình ảnh, đọc
ghi file, tương tác với máy chủ khác...)
Máy chủ gửi dữ liệu về cho người dùng (thường là dưới
dạng HTML)
I.1. PHP là gì? (2)
I.2. Lịch sử phát triển của PHP
Phiên bản đầu tiên của PHP được phát triển
năm 1994, bao gồm các macro cho trang Web cá
nhân (Personal Home Page)
Sau đó, PHP được phát triển thêm một số chức
năng mới gọi là Form Interpreter (PHP/FI) và
có được sự quan tâm lớn từ phía cộng đồng
Phiên bản tiếp theo, PHP3, được viết lại bởi
một nhóm các lập trình viên (Zeev Suraski,
Andi Gutmans). PHP3 được bổ sung thêm một số
tính năng và các cú pháp ngơn ngữ khác, đã
trở thành ngơn ngữ kịch bản phía máy chủ được
ưa chuộng nhất
I.3. Lý do chọn PHP
Khi sử dụng PHP, người dùng sẽ có được
tốc độ nhanh hơn nhiều so với các ngôn
ngữ kịch bản khác, bởi PHP là phần mềm
mã nguồn mở, được hỗ trợ bởi nhiều lập
trình viên giỏi, có số lượng người dùng
đơng đảo. Ngồi ra PHP chạy được trên
nhiều hệ điều hành khác nhau
I.3. Lý do chọn PHP (2)
Rút ngắn thời gian phát triển
–
PHP cho phép bạn tách phần HTML code và phần
script, do đó có thể độc lập giữa cơng việc
phát triển mã và thiết kế. Điều này vừa giúp
lập trình viên dễ dàng hơn vừa có thể làm cho
chương trình mềm dẻo hơn trong việc thay đổi
giao diện
PHP là phần mềm mã nguồn mở
–
–
PHP không chỉ là phần mềm mã nguồn mở mà cịn
thực sự miễn phí (kể cả khi bạn sử dụng cho mục
đích thương mại)
Do là phần mềm mã nguồn mở, các lỗi (bug) của
PHP được công khai và nhanh chóng được sửa chữa
bởi nhiều chuyên gia
I.3. Lý do chọn PHP (3)
Tốc độ
–
Nhờ vào sức mạnh của Zend Engine, khi so
sánh PHP với ASP, có thể thấy PHP vượt hơn ở
một số test, vượt trội ở tốc độ biên dịch.
Tính khả chuyển
–
PHP được thiết kế để chạy trên nhiều nền
tảng khác nhau, có thể làm việc với nhiều
phần mềm máy chủ, cơ sở dữ liệu (ví dụ: bạn
có thể phát triển dự án trên UNIX, sau đó
chuyển sang NT mà khơng gặp phải bất cứ vấn
đề gì)
I.4. Zend Engine
Zend là scripting engine nằm bên trong
PHP
Zend Engine thực sự là sự cải tiến đáng
kể. Hầu hết các đoạn mã viết trên PHP3
đều có thể chạy trên PHP4 với tốc độ
tăng gấp 200 lần
I.5. Cài đặt PHP
Bạn có thể tìm phiên bản mới nhất của
PHP tại địa chỉ
PHP là phần mềm mã nguồn mở, bạn có thể
download cả mã nguồn của PHP
Bạn có thể tìm tài liệu tham khảo của
PHP tại địa chỉ
/>
I.5. Cài đặt PHP (2)
Cài đặt PHP với IIS
–
–
–
–
Control Panel/Add Remove Programs/Add Remove
Window Components
Bật Internet Information Services
Download PHP Installer (Windows Binaries) từ
/>Cài đặt PHP (chọn server IIS)
Cài đặt Apache
–
–
Download Apache tại />Cài đặt Apache
I.5. Cài đặt PHP (3)
Download bản PHP zip package (Window Binaries)
Giải nén vào thư mục C:\PHP
Sửa file conf/httpd.conf, thêm vào nội dung sau
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Hoặc (Copy php5ts.dll vào thư mục
c:/windows/system32)
LoadModule php5_module "c:/php/sapi/php5apache2.dll"
AddType application/x-httpd-php .php
I.5. Cài đặt PHP (4)
Thêm alias (vào trong httpd.conf)
Alias fake “realname”
Alias /pm/ "C:/PMNM/47PM1/47PM1/”
Chú ý: fake phải bắt đầu bằng /
nếu fake kết thúc bằng / thì realname
cũng phải kết thúc bằng /
I.6. Chương trình PHP đầu tiên
Chương trình đầu tiên (bạn có thể soạn bằng
bất kỳ trình soạn thảo văn bản nào)
echo("Hello world");
?>
Lưu file dưới tên hello.php tại
c:\inetpub\wwwroot\php (IIS) hoặc trong thư mục ứng
với Alias vừa tạo ra
Tại trình duyệt, nhập vào địa chỉ
http://localhost/php/hello.php
I.6. Chương trình PHP đầu tiên (2)
Khối chương trình PHP
Tag style
Start Tag
End Tag
Chuẩn
?>
Dạng rút gọn
?>
ASP
<%
%>
Script tags
</script>
language=“ph
p”>
I.6. Chương trình PHP đầu tiên (3)
<html>
<head>
<title>Chuong trinh PHP dau tien</title>
</head>
<body>
<b>
// Day la chuong trinh PHP dau tien
echo("Hello world");
/* Comment the nay cung duoc */
# Ma the nay cung chang sao
?>
</b>
</body>
</html>
I.7. Các IDE cho PHP
Như đã biết, bạn có thể viết chương trình
PHP bằng bất cứ hệ soạn thảo văn bản nào.
Tuy nhiên, để có được các chức năng hỗ
trợ như AutoComplete, Debug... cần phải
sử dụng các IDE dành riêng cho PHP
–
Macromedia DreamWaver
–
Nusphere PHPED
–
Zend Studio
II. PHP Căn bản
II.1.
II.2.
II.3.
II.4.
II.5.
II.6.
Biến, kiểu và hằng
Toán tử và biểu thức
Các câu lệnh điều khiển
Hàm
Lớp & đối tượng
Tham chiếu (reference)
II.1. Biến, kiểu và hằng
II.1.1. Biến
II.1.1.1. Tên biến
II.1.1.2. Tham chiếu
II.1.1.3. Biến động
II.1.1.4. Phạm vi (scope) của biến
II.1.2. Kiểu
II.1.3. Hằng
II.1.1.1. Tên biến
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // outputs "Bob, Joe"
$4site = 'not yet'; // invalid; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
$täyte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228.
?>
Biến được ký hiệu bởi ký tự $
Tên biến phải được bắt đầu bởi 1 chữ cái hoặc
ký tự gạch chân
Tên biến không chứa các dấu và ký tự cách
II.1.1.2. Tham chiếu
Giống ngơn ngữ C, trong PHP bạn có thể sử dụng tham chiếu
$quang = "adfsdfasdfa";
echo("
$quang
");
$q = &$quang;
$q = "quangnp";
echo("
$quang
");
?>
$foo = 25;
$bar = &$foo;
// This is a valid assignment.
$bar = &(24 * 7);// Invalid references an unnamed expression.
function test() {
return 25;
}
$bar = &test(); // Invalid.
?>
II.1.1.3. Biến động (Dynamic Variable)
Vì PHP là ngơn ngữ thơng dịch nên bạn có thể sử
dụng các biến có tên chưa biết trước (tên biến
thay đổi)
$a = "quang";
// gia tri cua bien a la 'quang'
$$a = "np";
// bien dong $quang co gia tri la 'np'
echo("$a
");
// In ra gia tri cua bien a
echo("$quang
"); // In ra gia tri cua bien quang
${"quang"} = 13432; // Gian truc tiep bien dong
echo("$quang
");
?>
$c = "quang";
${$c} = 1000;
// Mot cach khac de truy cap den bien dong quang
echo("${$c}
");
II.1.1.4. Phạm vi của biến
$a = 1;
include "b.inc";
?>
Phạm vi của biến [a] có tác dụng trong cả
b.inc
$a = 1;
// global scope
function Test() {
echo $a;
// reference to local scope variable
}
Test();
?>
Biến [a] ở ngoài và trong hàm Test khác nhau
II.1.1.4. Phạm vi của biến (2)
Từ khóa global
$a = 1;
$b = 2;
function Sum() {
//a, b trong & ngoai ham Sum
global $a, $b;
// la giong nhau
$b = $a + $b;
}
Sum();
echo $b;
?>
Hoặc sử dụng cú pháp
$a = 1;
$b = 2;
function Sum() {
$GLOBALS["b"] =
$GLOBALS["a"] +
$GLOBALS["b"];
}
Sum();
echo $b;
?>