CT428. Lập Trình Web
Chương 5. PHP & MySQL (PHP)
Giảng viên: Trần Công Án (
[email protected])
Bộ môn Mạng máy tính & Truyền thông
Khoa Công Nghệ Thông Tin & Truyền Thông
Đại học Cần Thơ
2013 – 2014
PHP
[CT428] Chương 5.1 – PHP
Nội Dung
PHP là gì?
Cú pháp cơ bản
Hàm (Function)
Lập trình Hướng đối tượng (OOP)
PHP và Form
MySQL và PHP
Cookie và session
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
3
[CT428] Chương 5.1 – PHP
PHP là gì?
PHP Là Gì?
I
PHP: Hypertext PreProcessor (trình tiền xử lý siêu văn bản).
I
Là một ngôn ngữ script phía server: được thực thi phía server và trả
kết quả (là 1 trang web HTML) về cho browser.
I
Sự thực thi PHP script không phụ thuộc vào web browser.
I
Trình thông dịch PHP là phần mềm mã nguồn mở, miễn phí.
I
Được hỗ trợ bởi hầu hết các web server (Apache, IIS, . . . ) và hệ
điều hành thông dụng (Windows, Linux, MacOS, . . . ).
I
Thường thực hiện các xử lý hướng nghiệp vụ.
I
Một tập tin PHP có phần mở rộng là .php
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
4
[CT428] Chương 5.1 – PHP
PHP là gì?
Cơ Chế Hoạt Động
web server (www.abc.com)
Web
Server
(Apache
/
IIS)
Request: www.abc.com/login.php
(5)
web browser
PHP
file
(1)
Response: dynamic webpage
webpage
(4)
Internet/Intranet
(2)
PHP
interpreter
(3’)
(3)
database server
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
5
[CT428] Chương 5.1 – PHP
PHP là gì?
Cơ Chế Hoạt Động – Ví Dụ
∼/htdocs/LTW428/vi-du-1.php
/Users/tcan/Dropbox/Bo mon/Lap t…TCAN/Ch5.1
Saved: 2/23/14, 22:48:08
(http://localhost/LTW428/vi-du-1.php)
1
2
3
4
5
6
7
8
9
10
11
- PHP/src/vi-du-1.php Page 1 of 1
Printed For: Tran Cong An
PHP: It's " . date('Y/m/d H:i:s') . "");
?>
>Giải thích: lệnh echo dùng để xuất 1 chuỗi về cho browser.
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
6
[CT428] Chương 5.1 – PHP
PHP là gì?
Cơ Chế Hoạt Động – Ví Dụ
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
7
[CT428] Chương 5.1 – PHP
PHP là gì?
Download Các Chương Trình Cần Thiết
I
Apache (Web server):
http://httpd.apache.org/download.cgi
I
Chương trình PHP:
http://www.php.net/downloads.php
I
MySQL DBMS:
http://www.mysql.com/downloads/index.html
I
XAMPP – chương trình đóng gói cả 3 chương trình trên + Perl:
http://www.apachefriends.org/download.html
I
Sử dụng XAMPP là phương pháp đơn giản nhất để cài đặt và thử
nghiệm PHP & MySQL.
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
8
[CT428] Chương 5.1 – PHP
PHP là gì?
Giao Diện Chương Trình XAMPP
I
Giao diện chương trình XAMPP cho phép khởi động, dừng và cấu hình
Apache và MySQL.
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
9
[CT428] Chương 5.1 – PHP
PHP là gì?
Kiểm Tra Cài Đặt XAMPP
1. Khởi động chương trình
Apache.
2. Gõ vào thanh địa chỉ trình
duyệt: http://localhost
> Thư mục mặc định chứa
các web pages: hXAMPP
folderi[/xampfiles]/htdocs/
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
10
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Một số qui ước
Một Số Qui Ước
I
I
Mã lệnh PHP được đặt một trong các tag:
I
mã PHP ?>
I
I
Qui ước, cú pháp của PHP tương tự ngôn ngữ C và JavaScript.
I
Một câu lệnh kết thúc bằng dấu ; và có thể nằm trên nhiều dòng.
I
Các lệnh không phân biệt chữ hoa, chữ thường.
I
Ghi chú cũng tương tự C và JS: gồm ghi chú 1 dòng (//. . . ) và
nhiều dòng (/* . . . */)
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
11
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Và Kiểu Dữ Liệu
I
Kiểu dữ liệu: boolean (bool), integer (int), float, double, string.
I
Kiểu dữ liệu phức: array, Object.
I
Các kiểu đặc biệt: resource (3rd -party resources, e.g. DB), NULL.
I
Chú ý: Các giá trị tương đương false: 0, 0.0, chuỗi rỗng, “0”,
mảng rỗng, NULL.
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
12
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Và Kiểu Dữ Liệu
I
I
Biến:
I
Bắt đầu bằng $.
I
Không cần khai báo biến – biến sẽ được tạo ở lần đầu gán giá trị.
I
Kiểu biến sẽ được tự động gán, tùy vào dữ liệu của nó.
I
Phân biệt chữ hoa, chữ thường.
Phạm vi biến:
I
Cục bộ: khai báo trong một hàm, chỉ t/xuất được bên trong hàm đó.
I
Toàn cục: khai báo bên ngoài các khối lệnh, có thể t/cập từ bất kỳ vị
trí nào trong chương trình (trong hàm phải dùng từ khóa global).
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
13
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Và Kiểu Dữ Liệu
I
Biến tĩnh: static $var_name = value ;
I
Khai báo bên trong hàm (cục bộ)
I
Giá trị sẽ được lưu lại cho những lần gọi tiếp theo.
I
Truy vấn kiểu dữ liệu của một biến: gettype(var )
I
Kiểm tra biến và kiểu dữ liệu của biến: is_bool(), is_int(),
is_float(), is_double(), is_string(), is_object(),
is_array(), is_numeric(), is_resource(), is_null(),
isset(), empty().
I
Hằng số: define(const_name, value )
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
14
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Và Kiểu Dữ Liệu – Ví Dụ
/Applications/XAMPP/xamppfiles/htdocs/LTW428/datatype.php
Page 1 of 1
Saved: 3/20/14, 1:25:56
Printed For: Tran Cong An
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
");
echo(gettype($f) . "
");
//double
echo(var_dump($s) . "
"); //string(11) "Hello World"
echo(is_int($i) . "
");
//1
$i = 123.45;
echo(var_dump($i));
//float(123.45)
echo("");
?>
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
15
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Toàn Cục – Ví Dụ
/Applications/XAMPP/xamppfiles/htdocs/LTW428/global-variable.php
Page 1 of 1
Saved: 3/20/14, 1:36:49
Printed For: Tran Cong An
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
16
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Biến và kiểu dữ liệu
Biến Tĩnh – Ví Dụ
pplications/XAMPP/xamppfiles/htdocs/LTW428/static-variable.php
Page 1 of 1
ved: 3/20/14, 16:16:49
Printed For: Tran Cong An
1
2
3
4
5
6
7
8
9
10
11
12
13
14
");
test(); test(); test();
echo("");
?>
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
17
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Toán tử
Toán Tử
I
Số học: +, -, /, %, ++, --
I
Gán: =, +=, -=, *=, /=, %=
I
So sánh: ==, ===, !=, !==, >, <, >=, <=
I
Luận lý: &&, ||, !, xor
I
Mảng (array): +, ==, , ===, !=, !==, <>
I
Chuỗi: . (ghép chuỗi), .=
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
18
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Chuỗi ký tự
Chuỗi Ký Tự
I
Một /Applications/XAMPP/xamppfiles/htdocs/LTW428/string-specify.php
chuỗi ký tự có thể đặt trong dấu nháy đơn, kép hoặc heredoc. Page
I
Saved: 3/20/14, 17:13:08
Printed For: Tran C
Dấu nháy đơn và heredoc: các ký tự escape sẽ không được thông
dịch.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"; //My name is: "An\'
echo($s2 . "
"); //My name is: \"$name"
echo($s3 . "
"); //My name is: \"An"
?>
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
19
[CT428] Chương 5.1 – PHP
Cú pháp cơ bản
Mảng (Array)
Mảng (Array)
I
Có 4 cách khai báo mảng:
I
Mảng rỗng: $arr_name = array();
I
Mảng + kích thước: $arr_name = array(n );
I
Khai báo và khởi tạo: $arr_name = array(val1, val2,... )
I
Gán giá trị trực tiếp cho các phần tử của mảng:
$arr_name [] = value ;
$arr_name [index ] = value ;
$arr_name [] = value ;
$arr_name [index ] = value ;
...
...
TS. Trần Công Án (Khoa CNTT&TT)
[CT428] Chương 5.1 – PHP
20