ti ế p ti ế p Máy khách – Máy khai thác dịch vụ của máy chủ – Với mỗi dịch vụ thường có các phần mềmchuyên biệt ñể khai thác – Một máy tính có thể vừa là client vừa là server– Một máy tí
Trang 1PHP The First Lesson
Hanoi University of Science and Technology
(hust.edu.vn)
Trang 2Ch ươ ng 1: T ổ ng quan thi ế t k ế Web
Ch ươ ng 1: T ổ ng quan thi ế t k ế Web
mềm hỗ trợ xây dựng website
Trang 3Nh ắ c l ạ i m ộ t s ố khái ni ệ m
Nh ắ c l ạ i m ộ t s ố khái ni ệ m
Trang 4M ộ t s ố khái ni ệ m c ầ n thi ế t
M ộ t s ố khái ni ệ m c ầ n thi ế t
Domain Name
– Là tên ñược gắn với một ñịa chỉ IP
– Máy chủ DNS sẽ thực hiện việc gắn (ánh xạ) khi có yêu cầu truy cập
– Được chia làm nhiều cấp, phân biệt bởi dấu chấm
– Ví dụ: hpcc.hut.edu.vn gắn với 202.191.56.49
• vn: Việt Nam (cấp 1)
• edu: Tổ chức giáo dục (cấp 2)
• hut: Tên cơ quan (cấp 3)
• hpcc: Đơn vị trong cơ quan (cấp 4)
- Đặc biệt: tên localhost ñược gắn với 127.0.0.1
Trang 5(ti ế p) (ti ế p)
Trang 6(ti ế p) (ti ế p)
Máy khách
– Máy khai thác dịch vụ của máy chủ
– Với mỗi dịch vụ thường có các phần mềmchuyên biệt ñể khai thác
– Một máy tính có thể vừa là client vừa là server– Một máy tính có thể khai thác dịch vụ củachính nó
Trang 7(ti ế p) (ti ế p)
Cổng dịch vụ
– Là một số thuộc vào khoảng 0-65535, dùng ñể xác ñịnh dịch vụ của máy chủ
– Hai dịch vụ khác nhau sẽ chiếm các cổng khác nhau
– Mỗi dịch vụ thường chiếm các cổng xác ñịnh Ví dụ theo mặc ñịnh sẽ là:
Trang 8(ti ế p) (ti ế p)
Chuỗi ñịnh vị tài nguyên (URL – Uniform
• Giao thức, cổng: ñược trình duyệt mặc ñịnh
• Tên file: ñược máy chủ ñặt mặc ñịnh
Trang 9(ti ế p) (ti ế p)
– Tập hợp các website trên mạng Internet
– Là máy phục vụ web (chạy trên máy chủ)
– Một số phần mềm web server chuyên dụng như: Apache (open source) hoặc Internet Information Services – IIS (Microsoft)
– Phần mềm chạy trên client ñể khai thác dịch vụ web như: Mozilla Firefox, Internet Explorer, Google Chrome
Trang 10Phân lo ạ i website
Trang 11Phân lo ạ i website Phân lo ạ i website
• Sử dụng nhiều ngôn ngữ khác nhau
• Thao tác bằng tay ñể viết nhiều mã lệnh
Trang 12(ti ế p) (ti ế p)
Web Server URL yêu c ầ u
– Trang web ñược viết bằng HTML, chỉ thay ñổi khi
có sự thay ñổi của người xây dựng – Khả năng tương tác yếu
– Webserver hoạt ñộng giống 1 file server.
HTML
Client
Trang 13(ti ế p) (ti ế p)
Web Server
– Trang web viết bằng HTML + Ngôn ngữ lập trình phía server Có thể ñược thay ñổi bởi người sử dụng
– Khả năng tương tác mạnh
HTML
Client
Trang 14(ti ế p) (ti ế p)
Một số công nghệ viết web ñộng
• Common Gateway Interface (CGI)
• Java Server Pages (JSP)
• ASP: Microsoft
– Viết bằng VBScript, JavaScript chạy phía server.
– Sử dụng web server IIS.
• PHP: Mã nguồn mở
– Ngôn ngữ lập trình PHP, chạy phía server.
– Webserver: Apache, IIS – Bộ biên dịch: PHP
• Perl
Trang 15Một số bước chính trong phát
Một số bước chính trong phát triển website
triển website
triển website
triển website
Trang 16M ộ t s ố b ướ c chính trong phát tri ể n website
Trang 17(ti ế p) (ti ế p)
Một số chú ý
– Đặc tả: Website ñể làm gì? Ai dùng? Trình ñộngười dùng? Bố cục? Nội dung? Hình ảnh? v.v – Phân tích: Mối liên quan giữa các nội dung?Thứ tự các nội dung? (kịch bản website)
– Thiết kế: Sơ ñồ cấu trúc website, giao diện,tĩnh hay ñộng, CSDL, nội dung từng trang, liênkết giữa các trang v.v
– Xây dựng: cấu trúc thư mục, các module dùngchung, v.v
Trang 18(ti ế p) (ti ế p)
Kiểm thử
– Kiểm tra trên nhiều trình duyệt
– Kiểm tra trên nhiều loại mạng
– Kiểm tra tốc ñộ trên các loại ñường truyền
– Kiểm tra các liên kết
– Thử các lỗi bảo mật
– v.v
Trang 19Các phần mềm hỗ trợ xây
Các phần mềm hỗ trợ xây dựng website
dựng website
dựng website
dựng website
Trang 20Các ph ầ n m ề m n ề n t ả ng xây d ự ng website
Operating System: Linux
Web Server: Apache
Database Server: MySQL
Interpreter: PHP
Trang 21Các ph ầ n m ề m h ỗ tr ợ
Các ph ầ n m ề m h ỗ tr ợ
Server Suites: LAMPP,XAMPP, EasyPHP
Integrated Development Environment
– NetBean, Eclipse, Dreamweaver
Database
Database
– MySQL Administrator Tool
– MySQL Query Browser
Trang 22(ti ế p) (ti ế p)
Trang 23(ti ế p) (ti ế p)
– Cài ñặt: mở Terminal, gõ sh
netbeans-6.5beta-linux.sh
– Khởi ñộng NetBean từ màn hình Desktop
Trang 24(ti ế p) (ti ế p)
– Truy cập cơ sở dữ liệu thông qua MySQL
Administrator với username và password mà
hệ thống cung cấp
Trang 25How to write 1st PHP Page
Trang 26– Chuyển sang người dùng Root:
#sudo su
– Khởi ñộng Xampp:
/opt/lampp/lampp start
Trang 27(ti ế p) (ti ế p)
Sử dụng Nano hoặc Gedit ñể viết file php với những dòng lệnh sau:
Lưu lại file vừa viết thành: index.php
Copy vào thư mục /opt/lampp/htdoc/coursek51/
Chạy PHP từ web browser:
http://localhost/coursek51
Trang 28Ch ươ ng 2: Làm quen v ớ i PHP
Ch ươ ng 2: Làm quen v ớ i PHP
Trang 29T ổ ng quan v ề PHP
Trang 30T ổ ng quan v ề PHP
T ổ ng quan v ề PHP
Preprocessor”
web ñộng chạy trên server
Trang 31(ti ế p) (ti ế p)
Có khả năng hướng ñối tượng
Thông dịch
Phân biệt chữ hoa và chữ thường
Mỗi lệnh kết thúc bởi chấm phảy (;)
Trang 32Cú pháp ngôn ng ữ PHP
Trang 34(ti ế p) (ti ế p)
Biến
– Phân biệt chữ hoa, chữ thường
– Bắt ñầu bằng dấu $, tiếp ngay sau $ là tên biến
Trang 35(ti ế p) (ti ế p)
– Không cần khai báo trước (ñược tự ñộng khaibáo vào lần gán giá trị ñầu tiên)
– Việc sử dụng biến chưa khởi tạo sẽ gây lỗi
– Cho phép sử dụng giá trị của biến làm tên biếnkhác
if($a<10) //không hợp lệ khi chưa khởi tạo $a
$a = “temp”;
$$a = 5; //tương ñương $temp = 5;
Trang 36(ti ế p) (ti ế p)
• Giới hạn bởi nháy ñơn (‘) và kép (“)
• Chuỗi ñặt trong dấu nháy kép bị thay thế và xử lý ký tự thoát còn nháy ñơn thì không VD:
$a = “Hello”;
$b = “$a World” //tương ñương $b = “Hello World”
$c = ‘$a World’ //tương ñương $c = ‘$a World’ (không thay ñổi)
Trang 37(ti ế p) (ti ế p)
Trang 38(ti ế p) (ti ế p)
– Ký tự thoát (\): ñược sử dụng ñể viết các ký tựñặc biệt trong chuỗi
Cần có chuỗi: He said:”PHP is good”!
$a = “He said: \“PHP is good\”!”;
– Một số ký tự buộc phải sử dụng ký tự thoát như
$,\, “,… ngoài ra còn:
• \n: xuống dòng
• \r: trở về ñầu dòng
• \t: dấu tab
Trang 39(ti ế p) (ti ế p)
Kiểu logic
– Có hai trạng thái là true và false
function status ($in)
{
if ($in<5) return true;
else return false;
}
//giá trị trả về của hàm status(…) sẽ có giá trịthuộc kiểu logic
Trang 40(ti ế p) (ti ế p)
Trang 41(ti ế p) (ti ế p)
– Chỉ số chuỗi
$a [“ho”] = “Nguyen”;
$a [“ten”] = “Mai”;
– Mảng nhiều chiều (so phan tu cua mang)
• Được coi là mảng của mảng
$a[0][0] = “STT”;
$a[0][1] = “1”;
$a[1][0] = “Ho ten”;
$a[1][1] = “Nguyen Van A”;
Trang 42(ti ế p) (ti ế p)
Trang 43(ti ế p) (ti ế p)
Khởi tạo mảng bằng hàm array()(tiếp)
);
Trang 44(ti ế p) (ti ế p)
Ép kiểu và kiểm tra kiểu
– Sử dụng cú pháp tương
tự C/C++
$a = “123abc”;
$so = (int) $a;
$kytu = (string) $a;
Ký hiệu Ý nghĩa kiểu
(int), (integer) Số nguyên
(real), (double), (float) Số thập phân
$kytu = (string) $a;
– Kiểm tra kiểu:
Gettype(),is_bool(),is
_long(),
(string) Chuỗi
(array) Mảng
(object) Đối tượng
(bool), (boolean) Logic
(unset) NULL, tương tự
như gọi unset()
Trang 45(ti ế p) (ti ế p)
Toán tử
– Kiểu số:
• Kết hợp: +, -, *, /, %
• Tăng giảm: ++,
VD: $a++; $a ; ++$a; $a;
VD: $a++; $a ; ++$a; $a;
Trang 46Các c ấ u trúc đ i ề u khi ể n Các c ấ u trúc đ i ề u khi ể n
Trang 47Câu l ệ nh r ẽ nhánh Câu l ệ nh r ẽ nhánh If
Trang 50L ặ p xác đị nh for
for (lệnh_khởi_tạo; BTLG; lệnh2){
các_lệnh;
}
foreach ($biến_mảng as $giá_trị){
foreach ($biến_mảng as $giá_trị){
Trang 51Break và Continue
trong vòng lặp, chuyển sang vòng lặp
tiếp.
Trang 53– Để khai báo hàm với các tham số mặc ñịnh,
khi khai báo ta ñưa ngay giá trị tham số vào
function tên_hàm(ts1=gt1,ts2=gt2,…)
Trang 54Ph ạ m vi bi ế n
Phạm vi biến là phạm vi ở ñó biến xác ñịnh
Trong PHP, biến có 3 phạm vi:
– Local variables - Biến cục bộ:
• Khởi tạo trong hàm
• Có tác dụng từ khi khởi tạo ñến hết hàm.
– Global variables - Biến toàn cục:
• Khởi tạo ở ngoài hàm
• Có tác dụng từ khi khởi tạo ñến hết file trừ ở trong hàm.
• Để ñưa 1 biến toàn cục vào trong hàm, sử dụng khai báo
– Super Global Variables: Siêu toàn cục: Một số biến có sẵn của PHP: $_SERVER, $_SESSION
Trang 55Bi ế n t ĩ nh
Trang 56H ằ ng s ố
defined(“tên_biến”)
Trang 58The End of First Day