Bài giảng hướng dẫn cách chèn PHP và trang HTML; thao tác với chuỗi; các cấu trúc cơ bản như khai báo biến, lệnh rẽ nhánh, vòng lặp; cách tạo mảng số và mảng kết hợp từ một chiều đến nhiều chiều; tạo hàm và gọi hàm, từ hàm không tham số đến hàm có tham số, gọi hàm không có kết quả trả về và gọi hàm có kết quả trả về; lấy dữ liệu từ form gởi lên và xử lý.
Nội dung PHP CƠ BẢN Web tĩnh web động Web server web client Các phần mềm cần thiết Tổng quan PHP – Trần Thị Bạch Huệ – – – Tài liệu tham khảo Nhúng PHP vào trang HTML Biến, kiểu liệu, toán tử, cấu trúc rẽ nhánh, vòng lặp Mảng, hàm, phạm vi biến, biến tĩnh Chèn file Web tĩnh web động http://www.w3schools.com/php/default.asp “Bài tập PHP”, trung tâm đào tạo lập trình viên quốc tế AiTi-Aptech Bài giảng Đào Việt Cường, Khoa CNTT– ĐHSP Hà Nội Web tĩnh Tất người dùng nhận kết giống Trang Web tĩnh viết thẻ HTML bị thay đổi người bao trì trang Web Có khả tương tác với người dùng yếu Web động Web server Mỗi người sử dụng nhận nội dung khác nhau, phụ thuộc vào kết chạy chương trình Trang Web động viết thẻ HTML + ngơn ngữ lập trình phía server PHP, ASP,… thay đổi người sử dụng Khả tương tác với người dùng mạnh Server máy chuyên cung cấp tài nguyên, dịch vụ cho máy tính khác Một máy chủ dùng cho nhiều mục đích Tên máy chủ thường gắn với mục đích sử dụng – Ví dụ: File server, mail server, Web server,… Trên thực tế, máy chủ có cấu hình cao với khả hoạt động ổn định Web client Web server máy chủ chuyên cung cấp dịch vụ Web Một số phần mềm Web server chuyên dụng Apache, Internet Information Services (IIS),… 10 Các phần mềm cần thiết – – Tổng quan PHP Để thực hành tạo trang Web PHP máy tính bạn, cần cài đặt phần mềm sau: – 11 Là phần mềm dùng để truy cập hiển thị nội dung trang web Một số web browser thông dụng Internet Explorer (IE), FireFox, Opera, Netscape,… PHP gì? – Cài Apache (hoặc IIS) để cấu hình web server, download miễn phí http://httpd.apache.org/download.cgi Cài PHP, download miễn phí http://www.php.net/downloads.php Cài MySQL, download miễn phí http://www.mysql.com/downloads/ – – – Để đơn giản cho việc cài đặt cấu hình, bạn sử dụng gói WampServer / Vertrigo / Xamp PHP (PHP: Hypertext Preprocessor) ngơn ngữ lập trình phía server, dùng để phát triển web động nhúng vào trang HTML Bộ biên dịch PHP phần mềm mã nguồn mở, chạy Web server Apache, IIS,… PHP kết hợp với nhiều hệ quản trị MySQL, Oracle,… PHP download miễn phí http://www.php.net/ 12 Nhúng PHP vào trang HTML Có thể nhúng mã PHP vào vị trí trang HTML Đoạn mã PHP đặt giữa: : Ví dụ: Tạo trang “Hello.php” có code sau: Trang PHP dau tien Mỗi lệnh PHP kết thúc dấu chấm phẩy (;) File PHP lưu với phần mở rộng php Nếu file có phần mở rộng html, mã PHP không thực thi Có thể dùng lệnh echo print để xuất văn trang web Kết đoạn mã PHP thực đưa vào vị trí mà đoạn mã PHP chiếm chỗ 13 14 Thử nghiệm: – Mở IE, gõ địa chỉ: http://localhost/Hello.php 15 16 Biến Chú thích PHP //Bắt đầu dòng thích # Bắt đầu dòng thích /* Bắt đầu đoạn thích */ – – 17 Là vùng nhớ dùng để lưu trữ thông tin Khai báo biến: $tên_biến = giá_trị; Không cần khai báo trước, tự động khai báo vào lần gán giá trị Việc sử dụng biến chưa khởi tạo gây lỗi PHP tự động xác định kiểu liệu cho biến tùy vào giá trị gán cho 18 Kiểu liệu Kiểu số PHP hỗ trợ kiểu liệu sau: – – – – – Số nguyên (integer) số thực (float) Chuỗi (string) Boolean Mảng (array) Đối tượng (object),… Số nguyên từ -231 đến 231-1 – – – Hệ thập phân: Ví dụ: $a = 16; Hệ 16 (thập lục phân): Ví dụ: $a=0x10; Hệ (bát phân): VD: 020; Số thực (thập phân): Từ 1.7E-308 đến 1.7E+308 – – 19 Tên biến bao gồm chữ cái, chữ số, dấu gạch nối (_) phải bắt đầu chữ dấu gạch nối Ví dụ: $a=1; $b_12=“Hello”; Biểu diễn: $a = 0.017 Dạng khoa học: $a = 17.0E-03 20 Kiểu chuỗi 22 Nháy kép: – – Chuỗi đặt nháy kép bị thay xử lý ký tự Ví dụ: $a = “He”; echo “$allo”; //lỗi PHP hiểu biến $allo nên báo biến chưa định nghĩa echo “{$a}llo”; //đúng ($c = “Hello”) $a = “Hello”; echo “$a world”; // Xuất “Hello world” echo ‘$a world’; // Xuất ‘$a world’ (không thay đổi) 23 Để rõ biến chuỗi, cần bao biến vào cặp ngoặc móc { } Ví dụ: 24 Ký tự thoát: \ – – Kiểu tài liệu (heredoc): – Sử dụng để viết ký tự đặc biệt chuỗi Ví dụ: Cần có chuỗi: Người ta nói “PHP tốt” – $a = “Người ta nói “PHP tốt””; //Sai $a = “Người ta nói \“PHP tốt\””; //Đúng – – Một số ký tự phải sử dụng ký tự thốt: $, \, “ Ngồi ra: – – \n: Xuống dòng \r: trở đầu dòng \t: dấu tab … 25 Cho phép viết chuỗi nhiều dòng, khơng cần sử dụng ký tự thoát: Cách viết: $biến = Giá trị n so sánh với giá trị case Nếu khớp, mã case tương ứng thực thi Lệnh break sử dụng để mã case bên không bị thực thi tự động Mã default thực thi n không khớp với tất case 33 34 35 Cú pháp lệnh Switch: switch (n) { case label1: mã n=label1; break; case label2: mã n=label2; break; default: mã n khác trường hợp trên; } 36 Vòng lặp Ví dụ: 37 Có loại vòng lặp: Vòng lặp while thực điều kiện đúng, thoát điều kiện sai Ví dụ: 40 10 Ví dụ: – 41 Vòng lặp thực điều kiện sai 42 Ví dụ: 43 Dùng biết trước số lần lặp Cú pháp: Vòng lặp Foreach: Dùng quét qua mảng foreach ($array as $value) { mã cuả vòng lặp; } – Mỗi lần lặp, giá trị phần tử mảng hành gán cho biến $value trỏ mảng dịch chuyển lên 44 11 Ví dụ: break: Kết thúc lệnh for, while, dowhile switch continue: Bỏ qua lệnh phía sau continue vòng lặp, chuyển sang lần lặp Mảng số: Output: one two three 45 46 Mảng Biến lưu trữ giá trị số hay chuỗi văn Mảng biến đặc biệt Nó lưu trữ nhiều giá trị PHP có loại mảng: – – 47 – – Là mảng có index số Có cách tạo mảng số: Mảng số: Là mảng có index số Mảng kết hợp: Là mảng có index kết hợp với giá trị Mảng nhiều chiều: Là mảng chứa nhiều mảng khác Index gán tự động bắt đầu $cars=array("Saab","Volvo","BMW","Toyota"); Index gán cách thủ công $cars = array( ); $cars[0]="Saab"; $cars[1]="Volvo"; $cars[2]="BMW"; $cars[3]="Toyota"; 48 12 Ví dụ sau cho thấy cách truy cập phần tử mảng số 49 – – Là mảng có index kết hợp với giá trị Ví dụ: $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34); Hoặc $ages=array(); $ages['Peter'] = 32; $ages['Quagmire'] = 30; $ages['Joe'] = 34; 50 Ví dụ: 51 Mảng kết hợp: Trong mảng nhiều chiều, phần tử mảng mảng Mỗi phần tử mảng mảng khác,… Ví dụ: $families = array( "Griffin"=>array("Peter","Lois","Megan"), "Quagmire"=>array("Glenn"), "Brown"=>array("Cleveland","Loretta","Junior") ); 52 13 Một số hàm liên quan đến mảng Sau ví dụ cách truy xuất phần tử mảng nhiều chiều echo "Is " $families['Griffin'][2] " a part of the Griffin family?"; Kết xuất: Is Megan a part of the Griffin family? Hàm xếp mảng: asort, sort, rsort In mảng: print_r Một số hàm khác: – – – – – 53 array_sum count array_reverse array_search array_replace 54 Hàm Trong PHP, có 700 hàm xây dựng sẵn giúp việc lập trình đơn giản Trong phần nghiên cứu việc tự tạo hàm Hàm có số đặc điểm: – – 55 Cú pháp tạo hàm: function tên_Hàm(số lượng tham số) { mã hàm; } Gọi hàm: tên_Hàm(số lượng đối số); – Hàm thực thi gọi Có thể gọi hàm vị trí trang Các tham số cách dấu phẩy 56 14 Ví dụ 1: 57 58 59 Ví dụ 2: