Bài giảng Lập trình web - Chương 2: Ngôn ngữ lập trình PHP - Lê Nhựt Trường
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình web - Chương 2: Ngôn ngữ lập trình PHP - Lê Nhựt Trường", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_web_chuong_2_ngon_ngu_lap_trinh_php_le_n.ppt
Nội dung text: Bài giảng Lập trình web - Chương 2: Ngôn ngữ lập trình PHP - Lê Nhựt Trường
- BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC CỬU LONG KHOA CÔNG NGHỆ THÔNG TIN Chương 2: Ngôn Ngữ Lập Trình PHP Lê Nhựt Trường Email: lntruongcntt@gmail.com
- Nội dung: ◼ Tổng quan về PHP ◼ Các thao tác cơ bản trong PHP ◼ Biến trong PHP ◼ Các kiểu dữ liệ ◼ Các toán tử ◼ Cấu trúc điều khiển ◼ Các hàm kiểm tra giá trị của biến ◼ Hàm ◼ Xử lý lổi Lê Nhựt Trường Bài Giảng Lập Trình Web 2
- Tổng quan về PHP Yêucầu Ngôn Ngữ Lập Trình PHP kết quả HTML quả kết Lê Nhựt Trường Bài Giảng Lập Trình Web 3
- Tổng quan về PHP Lê Nhựt Trường Bài Giảng Lập Trình Web 4
- Đặc điểm PHP ◼ PHP: Hypertext Preprocessor. Tên gốc là Personal Home Page ◼ PHP chạy trên server nên chỉ thấy được mã HTML mà không thấy được mã PHP. ◼ Có thể sửa đổi cấu hình của Server, viết và đọc được các file trên Server. ◼ Đơn giản, tốc độ xử lý nhanh, dễ sử dụng. Luôn được cải tiến và cập nhật (mã nguồn mở). ◼ Có thể thực thi trên bất cứ hệ điều hành nào. Lê Nhựt Trường Bài Giảng Lập Trình Web 5
- Đặc điểm PHP ◼ Có khả năng hướng đối tượng ◼ Thông dịch ◼ Phân biệt chữ hoa/chữ thường ◼ Mỗi lệnh kết thúc bởi chấm phảy (;) Lê Nhựt Trường Bài Giảng Lập Trình Web 6
- Môi trường lập trình ◼ Có thể sử dụng các công cụ: ❑ MacroMedia DreamWeaver ❑ FrontPage ❑ Notepad++ ❑ Net Beans Lê Nhựt Trường Bài Giảng Lập Trình Web 7
- Cách tổ chức và lưu trữ ◼ Có phần mở rộng là .php ◼ Có thể sử dụng xampp hay wamp để lưu trữ và chạy webserver ❑ Nếu dùng Wamp thì lưu vào thư mục: wamp/www/ ❑ Nếu dùng Xampp thì lưu vào thư mục: xampp/htdocs 8 Lê Nhựt Trường Bài Giảng Lập Trình Web 8
- Các thao tác cơ bản ◼ Thiết lập thuộc tính cho trang vừa tạo: ❑ Tiêu đề trang Tiêu đề cho trang ❑ Hiển thị tiếng việt: 9 Lê Nhựt Trường Bài Giảng Lập Trình Web 9
- Các thao tác cơ bản ◼ Các Loại Thẻ PHP Thẻ mở Thẻ đóng 10 Lê Nhựt Trường Bài Giảng Lập Trình Web 10
- Các thao tác cơ bản – Ví dụ 1 11 Lê Nhựt Trường Bài Giảng Lập Trình Web 11
- Các thao tác cơ bản – Ví dụ 2 12 Lê Nhựt Trường Bài Giảng Lập Trình Web 12
- Quy ước ◼ Tất cả các câu lệnh php đều cách nhau bởi dấu ";" ◼ Không phân biệt khoảng trắng, Tab, xuống dòng trong câu lệnh ◼ Ghi chú : Theo cú pháp ghi chú của C và C++ // Đây là ghi chú /* Đây là ghi chú nhiều dòng*/ # Đây là ghi chú 13 Lê Nhựt Trường Bài Giảng Lập Trình Web 13
- Khai báo biến – Đặt tên $tên_biến; $tên_biến = giá_trị; ◼Không cần khai báo kiểu dữ liệu ◼Biến tự khởi tạo khi được gán giá trị lần đầu ◼Tên biến : ❑ Chỉ bao gồm ký tự _ , (A Z, a z) và ký số (0 9) ❑ Không bắt đầu tên bằng ký số ❑ Phân biệt chữ hoa – chữ thường 14 Lê Nhựt Trường Bài Giảng Lập Trình Web 14
- Khai báo biến – Ví dụ ◼ Ví dụ : STT Tên biến Biến sai ? 1 $a 2 $0b 3 $bien_cua_toi 4 $_chao $temp 5 Bao nhiêu 6 $anh2em Biến? 7 $$2toi 8 $anh-em 9 c 15 Lê Nhựt Trường Bài Giảng Lập Trình Web 15
- Khai báo biến – Biến hằng ◼ Khai báo biến hằng: define(tên_biến_hằng, Giá trị); ◼ Ví dụ: 16 Lê Nhựt Trường Bài Giảng Lập Trình Web 16
- Bài tập Bạn Mai có mua 30 cái điện thoại với đơn giá là $88.32 với thuế xuất là 0.05. Viết trang php (theo mẫu) để thông báo cho bạn Mai biết tổng số tiền phải trả cho cửa hàng đó. 17 Lê Nhựt Trường Bài Giảng Lập Trình Web 17
- Giải bài tập 18 Lê Nhựt Trường Bài Giảng Lập Trình Web 18
- Khai báo biến – Phạm vi Loại Vị trí khai báo Phạm vi ảnh hưởng Biến cục bộ Trong hàm Trong hàm Tham số của hàm Khai báo hàm Trong hàm Biến toàn cục Sau từ khóa GLOBAL Webpage Biến tĩnh Sau từ khóa STATIC Webpage Biến hệ thống $_SERVER, $_POST, Website Phạm vi này bao gồm cả các file được chèn vào bằng include() và require(). 19 Lê Nhựt Trường Bài Giảng Lập Trình Web 19
- Ví dụ phạm vi của biến 20 Lê Nhựt Trường Bài Giảng Lập Trình Web 20
- Kiểu dữ liệu – mô tả 21 Lê Nhựt Trường Bài Giảng Lập Trình Web 21
- Kiểu dữ liệu – mô tả Ví dụ kiểu boolean: Ví dụ kiểu integer: Lê Nhựt Trường Bài Giảng Lập Trình Web 22
- Chuyển đổi kiểu dữ liệu Chuyển đổi kiểu dữ liệu cho biến bằng cách ghi tên kiểu dữ liệu muốn chuyển vào phía trước biến. Ví dụ: Lê Nhựt Trường Bài Giảng Lập Trình Web 23
- Các toán tử Toán tử số học Toán tử nối chuổi Toán tử gán kết hợp Toán tử so sánh Tham chiếu Lê Nhựt Trường Bài Giảng Lập Trình Web 24
- Các toán tử số học Được sử dụng trong việc tính toán cac phép tính cộng, trừ, nhân, chia và chia lấy phần dư. Các biểu thức, giá trị tính toán phải là các kiểu số khi thực hiện các toán tử Lê Nhựt Trường Bài Giảng Lập Trình Web 25
- Các toán tử nối chuổi Dùng toán tử “.” khi có chuỗi cần nối. Ví dụ: Nối các chuỗi sau thành một chuỗi tương ứng: Lê Nhựt Trường Bài Giảng Lập Trình Web 26
- Các toán tử gán kết hợp Sử dụng để thực hiện việc tính toán cộng, trừ, nhân, chia, chia dư khi muốn tiết kiệm thời gian. Lê Nhựt Trường Bài Giảng Lập Trình Web 27
- Các toán tử gán kết hợp Ví dụ: Viết đoạn code tính tổng hai số nguyên: Lê Nhựt Trường Bài Giảng Lập Trình Web 28
- Các toán tử so sánh Sử dụng để thực hiện các phép so sánh như: bằng, lớn hơn, nhỏ hơn, cho các biểu thức. Kết quả trả về là đúng hoặc sai. Lê Nhựt Trường Bài Giảng Lập Trình Web 29
- Các toán tử so sánh Ví dụ: Viết đoạn code so sánh như sau: $b) echo“a lớn hơn b”; else echo“a nhỏ hơn b”; ?> Lê Nhựt Trường Bài Giảng Lập Trình Web 30
- Tham chiếu Ý nghĩa là lấy cùng một giá trị bằng nhiều tên biến khác nhau, cho phép tạo hai hay nhiều biến cùng nội dung. Ký hiệu: & Ví dụ: Lê Nhựt Trường Bài Giảng Lập Trình Web 31
- Cấu trúc điều khiển ◼ Từ khóa break, continue, goto ◼ Cấu trúc if else ◼ Cấu trúc switch ◼ Cấu trúc while ◼ Cấu trúc for Lê Nhựt Trường Bài Giảng Lập Trình Web 32
- Từ khóa break, continue, goto ◼ break : Ngắt xử lý của khối lệnh / vòng lặp ◼ continue : Tiếp tục bước kế tiếp của vòng lặp ◼ goto : Nhảy đến nhãn chỉ định PHP 5.3 trở lên return; 33 Lê Nhựt Trường Bài Giảng Lập Trình Web 33
- Cấu trúc if else if (condition) { statement[s] if true } else { statement[s] if false } if (condition) $x isn’t less than 4 { statement[s] } elseif (condition) { statement[s] } 34 Lê Nhựt Trường Bài Giảng Lập Trình Web 34
- Cấu trúc switch switch (expression) { case label : statementlist break; case label : statementlist break; default : statementlist } You picked menu three You picked menu four 35 Lê Nhựt Trường Bài Giảng Lập Trình Web 35
- Cấu trúc while while (expression) { statements } do { statements }while (expression); 36 Lê Nhựt Trường Bài Giảng Lập Trình Web 36
- Cấu trúc for for ([initial expr]; [condition]; [update expr]) { statement[s] inside loop } 37 Lê Nhựt Trường Bài Giảng Lập Trình Web 37
- Các hàm kiểm tra giá trị của biến ◼ Kiểm tra tồn tại isset() ◼ Kiểm tra giá trị rỗng empty() ◼ Kiểm tra trị kiểu số is_numeric() ◼ Kiểm tra kiểu dữ liệu của biến ◼ Xác định kiểu của biến gettype() Lê Nhựt Trường Bài Giảng Lập Trình Web 38
- Kiểm tra tồn tại isset() ◼ Hàm isset(): dùng để kiểm tra biến có giá trị hay không. ◼ Kiểm tra sự tồn tại của một hay nhiều biến. Nếu tất cả biến có giá trị thì trả về True ngược lại thì Fasle. ◼ Cú pháp: isset( , , ) Lê Nhựt Trường Bài Giảng Lập Trình Web 39
- Kiểm tra tồn tại isset() ◼ Ví dụ: Nhập thông tin và nhấn nút Submit, dữ liệu sẽ được xử lý và hiển thị thông tin vừa nhập. Lê Nhựt Trường Bài Giảng Lập Trình Web 40
- Kiểm tra giá trị rỗng empty() ◼ Kiểm tra biến có giá trị rỗng hay không. Nếu biến có giá trị NULL hay bằng không thì trả về True, ngược lại Fasle. ◼ Cú pháp: empty( ) Lê Nhựt Trường Bài Giảng Lập Trình Web 41
- Kiểm tra giá trị rỗng empty() ◼ Kiểm Những kết quả dưới đây xem là rỗng: ❑ “ ”: chuỗi rỗng. ❑ 0: 0 khi kiểu là integer. ❑ NULL ❑ FASLE ❑ array(): mảng rỗng. ❑ var $var: khai báo nhưng không có giá trị trong lớp. Lê Nhựt Trường Bài Giảng Lập Trình Web 42
- Kiểm tra giá trị rỗng empty() ◼ Ví dụ: Name=“user” Name=“pass” Name=“name” Name=“adress” dang_ky.php xl_dang_ky.php Lê Nhựt Trường Bài Giảng Lập Trình Web 43
- kiểm tra trị kiểu số is_numeric() ◼ Kiểm tra biến có giá trị là số hay không. ◼ Nếu giá trị của biến không là kiểu số thì trả về True, ngược lại là False. ◼ Cú pháp: is_numberic( ) Lê Nhựt Trường Bài Giảng Lập Trình Web 44
- kiểm tra trị kiểu số is_numeric() ◼ Ví dụ: Kiểm tra số người dùng nhập vào có phải số hay không. Phải là số thực hiện phép cộng. Nếu không phải số báo lỗi. Name=“soa” Name=“sob” tinh_tong.php xl_tinh_tong.php Lê Nhựt Trường Bài Giảng Lập Trình Web 45
- Kiểm tra kiểu dữ liệu của biến ◼ Hàm is_int(), is_long(): Kiểm tra biến có phải là số nguyên hay không. ◼ Nếu giá trị của biến là số nguyên thì trả về True, ngược lại Fasle ◼ Cú pháp: is_int( ) Lê Nhựt Trường Bài Giảng Lập Trình Web 46
- Kiểm tra kiểu dữ liệu của biến ◼ Hàm is_string(): Kiểm tra biến có phải là chuỗi hay không. ◼ Nếu giá trị của biến là chuỗi thì trả về True, ngược lại Fasle ◼ Cú pháp: is_string( ) Lê Nhựt Trường Bài Giảng Lập Trình Web 47
- Kiểm tra kiểu dữ liệu của biến ◼ Hàm is_double(): Kiểm tra biến có phải là số có dấu chấm động hay không. ◼ Nếu giá trị của biến là số có dấu chấm động thì trả về True, ngược lại Fasle ◼ Cú pháp: is_double( ) Lê Nhựt Trường Bài Giảng Lập Trình Web 48
- Xác định kiểu của biến gettype() ◼ Kiểm tra dữ liệu của biến, hoặc giá trị. ◼ Cú pháp: gettype( ) Ví dụ: Xác định kiểu của các biến: Lê Nhựt Trường Bài Giảng Lập Trình Web 49
- Hàm ◼ Hàm thư viện ◼ Hàm do người dùng tự định nghĩa ◼ Xử lý lỗi Lê Nhựt Trường Bài Giảng Lập Trình Web 50
- Hàm thư viện ◼ Hàm thư viện là những hàm được PHP xây dựng sẵn, khi cần chỉ cần gọi để sử dụng. ◼ Có nhiều hàm trong thư viện hàm như: nhóm hàm chuỗi, nhóm hàm thời gian, nhóm hàm lịch, ◼ Chỉ cần viết tên hàm và truyền vào đó các tham số/giá trị được yêu cầu để sử dụng hàm. Lê Nhựt Trường Bài Giảng Lập Trình Web 51
- Hàm thư viện ◼ Ví dụ: dùng hàm date() trong nhóm hàm thời gian để lấy kết quả ngày, giờ hiện tại. "; echo date("d-m-Y"); echo" ".date("D-M-Y h:m:s"); ?> Lê Nhựt Trường Bài Giảng Lập Trình Web 52
- Hàm do người dùng tự định nghĩa ◼ Khai báo cú pháp: function Tên_hàm( ) { //Khối lệnh trong hàm. return giá_trị; } Lê Nhựt Trường Bài Giảng Lập Trình Web 53
- Hàm do người dùng tự định nghĩa ◼ Tên hàm: là tên được sử dụng khi gọi thực thi hàm. Quy tắc đặt tên hàm giống như đặt tên biến và nên có ý nghĩa. ◼ Danh sách tham số: dùng để truyền dữ liệu bên ngoài vào. Các tham số đặt trong dấu ngoặc () và cách nhau dấu , ◼ giá_trị: là kết quả trả về của hàm. Lê Nhựt Trường Bài Giảng Lập Trình Web 54
- Hàm do người dùng tự định nghĩa ◼ Sử dụng hàm do người dùng tự định nghĩa: ◼ Cú pháp: Tên_hàm( ) Trong đó: ❑ Tên_hàm: được gọi thực hiện phải giống với tên hàm đã xây dựng. ❑ Danh_sách_các_giá_trị: cung cấp các thông tin cho tham số của hàm. Số lượng giá trị bằng số lượng tham số của hàm và có thứ tự tương ứng thứ tự của tham số. Lê Nhựt Trường Bài Giảng Lập Trình Web 55
- Hàm do người dùng tự định nghĩa ◼ Ví dụ: Viết hàm tính tổng hai số hạng a và b. value= $tong Lê Nhựt Trường Bài Giảng Lập Trình Web 56
- Xử lý lỗi ◼ Phân loại lỗi: ❑ Lỗi cú pháp (syntax error) xuất hiện khi ta viết code. Lỗi này sẽ được thông báo khi ta thực thi trang. Nguyên nhân gây ra lỗi là do chúng ta viết sai hoặc thiếu cú pháp. ❑ Lỗi thực thi xảy ra khi thực thi trang. Lỗi thực thi khó xác định hơn lỗi cú pháp. Nguyên nhân có thể là: ▪ Mở một tập tin không tồn tại. ▪ Chia cho 0. ▪ Truy xuất bảng không tồn tại trong CSDL. ❑ Lỗi luận lý xảy ra khi ta thực thi trang, nó được thể hiện dưới những hình thức hoặc những kết quả không mong đợi. Nguyên nhân là sai là trong giải thuật. Lê Nhựt Trường Bài Giảng Lập Trình Web 57
- Xử lý lỗi ◼ Dò lỗi và sửa thủ công. ❑ Có lỗi phát sinh thì trên trang thực thi sẽ tự động thông báo lỗi. ❑ Dùng try catch để dò và sửa lỗi ▪ Khối try: các câu lệnh có khả năng gây ra lỗi. ▪ Khối catch: các câu lệnh để bẫy và xử lý khối lỗi phát sinh trên khối try. Lê Nhựt Trường Bài Giảng Lập Trình Web 58
- Xử lý lỗi ◼ Các lỗi thường gặp: ❑ Kết quả xuất ra một trang trống(Blank Page) ❑ Dùng hằng không xác định ❑ Không xác định giá trị ❑ Lỗi cú pháp ❑ Truyền không đúng số lượng tham số. ❑ Gọi hàm chưa xây dựng ❑ Không xác định chỉ mục ❑ Vượt quá thời gian biên dịch cho phép. ❑ Không thể khai báo lại hàm. Lê Nhựt Trường Bài Giảng Lập Trình Web 59