Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 103 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
103
Dung lượng
1,34 MB
Nội dung
ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG CƠNG NGHỆ THỦ ĐỨC KHOA CNTT GIÁO TRÌNH HỌC PHẦN: LẬP TRÌNH WEB NGÀNH/NGHỀ: Cơng Nghệ Thơng Tin TRÌNH ĐỘ: Cao Đẳng Ban hành kèm theo Quyết định số: /QĐ-… ngày tháng….năm của……………………………… TP Hồ Chí Minh, năm 2018 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Học phần Lập trình web học phần bắt buộc với chương trình đào tạo theo mơ hình CDIO ngành Cơng nghê thông tin Đây học phần cho lập trình web backend học phần tảng cho học phần web back-end sau Ở học phần Thiết kế web trước đó, sinh viên làm quen web, học cách xây dựng web front-end qua học phần Lập trình web 1, sinh viên biến web front-end làm thành website động với chức hoàn chỉnh Sinh viên học ngơn ngữ lập trình web back-end phổ biến PHP, đồng thời, học cách kết nối, tương tác với liệu với MySQL Giáo trình biên soạn dựa theo đề cương học phần “Lập trình web 1” Khoa Cơng nghệ thông tin – Trường Cao đẳng Công nghệ Thủ Đức Mặc dù nhóm biên soạn cố gắng, song chắn khơng tránh khỏi sai sót Vì vậy, nhóm mong nhận góp ý chân thành từ quý thầy cô bạn sinh viên để giáo trình ngày hồn thiện … , ngày…tháng năm…… Tham gia biên soạn Chủ biên: Bùi Thị Phương Thảo Nguyễn Huy Hoàng MỤC LỤC CHƯƠNG 1: CƠ BẢN VỀ LẬP TRÌNH PHP 1.1 GIỚI THIỆU VÀ CÀI ĐẶT 1.1.1 1.1.2 1.1.3 1.1.4 1.2 | | | | BIẾN, HẰNG VÀ KIỂU DỮ LIỆU 1.2.1 | 1.2.2 | 1.2.3 | 1.3 1.4 BIẾN HẰNG KIỂU DỮ LIỆU HÀM 10 BIỂU THỨC ĐIỀU KIỆN VÀ VÒNG LẶP 11 1.4.1 | 1.4.2 | 1.5 1.6 GIỚI THIỆU PHP GIỚI THIỆU PHP7 CÀI ĐẶT CÚ PHÁP PHP CƠ BẢN BIỂU THỨC ĐIỀU KIỆN 11 VÒNG LẶP 11 NHẬN DỮ LIỆU TỪ FORM 12 BÀI TẬP 13 CHƯƠNG 2: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG PHP .14 2.1 MỘT SỐ KHÁI NIỆM CƠ BẢN 15 2.1.1 | 2.1.2 | 2.1.3 | 2.2 KẾ THỪA 18 2.2.1 | 2.2.2 | 2.2.3 | 2.3 2.4 2.5 CLASS 15 NEW 15 MAGIC METHODS 16 KẾ THỪA CLASS TRONG PHP 18 GHI ĐÈ (OVERWRITE) PROPERTIES VÀ METHODS ĐƯỢC KẾ THỪA 19 VISIBILITY CỦA PROPERTIES VÀ METHODS 20 AUTOLOADING 22 GHI CHÚ VỚI DOCBLOCKS 22 BÀI TẬP 25 CHƯƠNG 3: MẢNG VÀ CHUỖI 27 3.1 MẢNG 28 3.1.1 | 3.1.2 | 3.2 CHUỖI 35 3.2.1 | 3.2.2 | 3.3 GIỚI THIỆU 28 CÁC HÀM XỬ LÝ 30 GIỚI THIỆU 35 CÁC HÀM XỬ LÝ 36 BÀI TẬP 44 CHƯƠNG 4: COOKIE VÀ SESSION 52 4.1 COOKIE 53 4.1.1 | 4.1.2 | 4.2 SESSION 55 4.2.1 | 4.2.2 | 4.3 COOKIE LÀ GÌ? 53 CÁCH SỬ DỤNG COOKIE 53 SESSION LÀ GÌ? 55 CÁCH SỬ DỤNG SESSION 56 BÀI TẬP 60 CHƯƠNG 5: PHP VÀ MYSQL 62 5.1 CSDL MYSQL 63 5.1.1 5.1.2 5.1.3 5.1.4 | | | | MYSQL LÀ GÌ? 63 TẠO CSDL 63 TẠO BẢNG 65 THÊM DỮ LIỆU 68 5.2 CÁC CÂU LỆNH CƠ BẢN 70 5.2.1 5.2.2 5.2.3 5.2.4 5.3 5.4 | | | | CHỌN DỮ LIỆU 71 THÊM DỮ LIỆU 71 XÓA DỮ LIỆU 72 SỬA DỮ LIỆU 73 KẾT NỐI VÀ TRUY VẤN CSDL MYSQL 74 BÀI TẬP 77 CHƯƠNG 6: TÌM KIẾM VÀ PHÂN TRANG 79 6.1 TÌM KIẾM 80 6.1.1 | 6.1.2 | 6.2 PHÂN TRANG 83 6.2.1 | 6.2.2 | 6.2.3 | 6.3 XÂY DỰNG FORM TÌM KIẾM 80 XỬ LÝ VÀ HIỂN THỊ KẾT QUẢ TÌM KIẾM 81 CÁC BIẾN THƯỜNG SỬ DỤNG 84 MỘT SỐ BIẾN KHÁC 85 CÁC BƯỚC THỰC HIỆN PHÂN TRANG 85 BÀI TẬP 88 CHƯƠNG 7: KỸ THUẬT UPLOAD TẬP TIN 89 7.1 7.2 7.3 7.4 CƠ CHẾ UPLOAD FILE 90 THIẾT KẾ FORM CHO PHÉP UPLOAD FILE 90 XỬ LÝ FILE UPLOAD 91 KIỂM TRA FILE UPLOAD 93 7.4.1 7.4.2 7.4.3 7.4.4 7.5 | | | | KIỂM TRA FILE ĐÃ TỒN TẠI 93 GIỚI HẠN KÍCH THƯỚC FILE 93 GIỚI HẠN LOẠI FILE 94 TỔNG HỢP CÁC BƯỚC 94 BÀI TẬP 96 TÀI LIỆU THAM KHẢO 98 GIÁO TRÌNH HỌC PHẦN Tên học phần: Lập trình web Mã học phần: CNT407281 Vị trí, tính chất, ý nghĩa vai trị học phần: - Vị trí: Đây học phần giảng dạy HK3, hệ cao đẳng ngành cơng nghệ thơng tin - Tính chất: Học phần cung cấp thêm cho sinh viên kiến thức ngơn ngữ lập trình PHP, sở liệu MySQL kiến thức kỹ thuật cần thiết lập trình web để sinh viên xây dựng website hoàn chỉnh - Ý nghĩa vai trị học phần: Thơng qua hoạt động học tập sinh viên cịn hồn thiện dần tính tư hệ thống thói quen tn thủ quy định môi trường làm việc Mục tiêu học phần: - Về kiến thức: Phân tích cách xây dựng website theo hướng dẫn cách đầy đủ hợp lý - Về kỹ năng: Xây dựng website mức - Về lực tự chủ trách nhiệm: Hình thành thói quen tư hệ thống, học tập tích cực, chủ động thói quen tn thủ yêu cầu, quy định môi trường doanh nghiệp CHƯƠNG 1: CƠ BẢN VỀ LẬP TRÌNH PHP Chương trình bày khái niệm liên quan đến lập trình web back-end với ngơn ngữ PHP, đặt tảng cho chương sau học phần lập trình web back-end sau này, cụ thể: - Trình bày ngơn ngữ PHP - Trình bày kiến thức lập trình với PHP Sau học xong chương này, sinh viên lập trình xử lý toán PHP Giáo Trình Lập Trình Web Trang 1.1 GIỚI THIỆU VÀ CÀI ĐẶT 1.1.1 | GIỚI THIỆU PHP PHP ngơn ngữ lập trình scripting language phía server phổ biến, dùng phát triển ứng dụng web Với đặc tính nhanh, linh hoạt, hữu dụng thực tế, PHP dùng để phát triển ứng dụng web từ blog website tiếng giới Facebook PHP viết tắt "PHP: Hypertext Preprocessor", ngôn ngữ mã nguồn mở, miễn phí download sử dụng Các file PHP bao gồm HTML, CSS, JavaScript, code PHP Các file PHP chạy xử lý server Kết trình xử lý gửi trả cho browser file HTML túy Các file PHP có phần mở rộng ".php" PHP thực cơng việc sau: Tạo trang web có nội dung động Tạo, mở, đọc, ghi, xóa, đóng file server Thu thập liệu từ form Gửi nhận cookies Thêm, xóa, sửa liệu sở liệu Quản lý quyền truy cập người dùng Mã hóa liệu Với PHP, khơng có giới hạn PHP tạo loại văn nào, hình ảnh, chí video PHP dùng phổ biến lý sau: PHP chạy tảng khác (Windows, Linux, Unix, Mac OS X, v.v ) PHP tương thích với hầu hết tất server (Apache, IIS, v.v ) PHP hỗ trợ nhiều loại sỡ liệu khác Giáo Trình Lập Trình Web Trang PHP miễn phí, download website thức PHP là: www.php.net PHP dễ học hoạt động hiệu phía server 1.1.2 | GIỚI THIỆU PHP7 PHP phiên PHP nay, với cải tiến so với PHP trước (khơng có PHP 6) Với PHP 7, tốc độ xử lý cải thiện, đồng thời bổ sung thêm tính khác Tham khảo thêm tại: http://blog.teamtreehouse.com/5-new-features-php-7 1.1.3 | CÀI ĐẶT Để chạy file php, có hai cách sau: Cách 1: Một web host có hỗ trợ PHP MySQL Cách 2: Máy tính cá nhân cài đặt sẵn PHP MySQL Đối với cách 1, cách đơn giản web host hỗ trợ sẵn PHP Chúng ta việc tạo file php chạy chúng Những việc cịn lại dịch vụ hosting làm sẵn Vì PHP miễn phí phổ biến nên hầu hết web host hỗ trợ PHP Đối với cách 2, cần: Cài đặt web server (Apache, IIS, v.v ) Cài đặt PHP (download trang www.php.net) Cài đặt database MySQL Để đơn giản, ba việc thay việc tải cài đặt web server đóng gói sẵn Hiện có web server phổ biến như: WampServer (http://www.wampserver.com/) XAMPP (https://www.apachefriends.org/) AMPPS (https://www.ampps.com/) 1.1.4 | CÚ PHÁP PHP CƠ BẢN Giáo Trình Lập Trình Web Trang Code PHP đặt nơi đâu file php Một đoạn code PHP bắt đầu Đôi thấy đâu đó, đoạn code PHP bắt đầu Như đề cập trên, file php bao gồm HTML, CSS, JavaScript code PHP Vì cần ký hiệu để đâu code PHP Tuy nhiên, file php chứa túy code PHP mà khơng có khác, nên bỏ ?> đi, giữ lại , gây hệ không mong muốn Một câu lệnh PHP kết thúc dấu chấm phẩy (;) Ví dụ file php chứa HTML code PHP, in dòng chữ “Hello World” Trong ví dụ sử dụng hàm PHP dùng để in đoạn văn echo My first PHP page Để ghi (comment) PHP, ta có ba cách sau: // Ghi dòng đơn # Ghi dịng đơn Giáo Trình Lập Trình Web Trang /* */ Ghi đoạn nhiều dòng Để mở đầu đoạn ghi chú, ta dùng dấu /* để kết thúc, ta dùng dấu */ Trong PHP, chữ hoa thường phân biệt tên biến Các thành phần lại keywords (if, else, while, echo, etc.), tên class, functions không phân biệt chữ hoa hay thường, nhiên thông thường chúng viết thường 1.2 BIẾN, HẰNG VÀ KIỂU DỮ LIỆU 1.2.1 | BIẾN Biến PHP bắt đầu dấu $ theo sau tên biến Ví dụ: $txt = "Hello world!"; $x = 5; $y = 10.5; Giống JavaScript, PHP khơng có câu lệnh khai báo biến Một biến tạo ta gán cho giá trị Chúng ta khơng cần xác định kiểu liệu cho biến PHP Kiểu liệu biến tự động xác định thơng qua giá trị mà biến mang Các lưu ý làm việc với biến: Một biến bắt đầu dấu $ theo sau tên biến Tên biến bắt buộc phải bắt đầu ký tự dấu _ Tên biến không bắt đầu ký số Tên biến chứa ký tự (A-z), ký số (0-9) dấu _ Tên biến phân biệt chữ hoa chữ thường Thông thường tên biến viết theo kiểu camelCase Để in giá trị biến chuỗi, ta dùng hàm echo theo hai cách với ví dụ sau: Cách 1: Giáo Trình Lập Trình Web Trang Hình 12 Phân trang Trước vào kỹ thuật phân trang, ta tìm hiểu số tên biến thường sử dụng phân trang 6.2.1 | CÁC BIẾN THƯỜNG SỬ DỤNG $totalRows: Tổng số kết trả Ví dụ: có 18 sản phẩm bảng Products => $totalRows = 18 $perPage: Số kết hiển thị trang Ví dụ: Hình có sản phẩm trang => $perPage = $totalLinks: Tổng số trang hiển thị $totalLinks = ceil($totalRows / $perPage); (Hàm ceil(): làm tròn lên số nguyên gần nhất) Ví dụ 1: có 18 sản phẩm bảng Products, qui định trang hiển thị sản phẩm, cần trang để hiển thị hết tất sản phẩm => $totalLinks = Ví dụ 2: có 18 sản phẩm bảng Products, qui định trang hiển thị sản phẩm, ta cần trang để hiển thị hết tất sản phẩm => $totalLinks = Giáo Trình Lập Trình Web Trang 84 $page: Số trang hiển thị Ví dụ: Như hình 3, $page = 6.2.2 | MỘT SỐ BIẾN KHÁC $baseUrl: Qui định đường dẫn đến file hành Ví dụ1: $baseUrl = ‘http://example.com/index.php’; Ví dụ2: $baseUrl = $_SERVER['PHP_SELF']; // Hàm trả tên file hành $firstLlink : Số thứ tự trang bắt đầu hiển thị Ví dụ: Như hình 1, $firstLlink = $lastLink: Số thứ tự trang kết thúc Ví dụ: Như hình 5, $lastLink = $prevLink: Liên kết tới trang trước Ví dụ: Như hình 2, $prevLink = $nextLink: Liên kết tới trang Ví dụ: Như hình 4, $firstLlink = 6.2.3 | CÁC BƯỚC THỰC HIỆN PHÂN TRANG Bước 1: Tính thơng số phân trang ($totalRows, $perPage, $page_num) Bước 2: Thay hàm hiển thị hàm hiển thị có phân trang Thêm biến $totalRow, $perPage $ firstLink thay SELECT * FROM Products SELECT * FROM Products LIMIT $firstLink, $perPage Bước 3: Viết hàm phân trang Bên dạng phân trang, ta chọn dạng kết hợp Thanh phân trang dạng số … Giáo Trình Lập Trình Web Trang 85 public function createLinks ($baseUrl, $totalRows, $page, $perPage) { //Kiểm tra liệu khơng có phân trang if ($totalRows > Trong đó: liên kết tới trang kế >> liên kết tới trang cuối 3… liên kết tới số trang tương ứng trang hành có màu đỏ in đậm Giáo Trình Lập Trình Web Trang 88 CHƯƠNG 7: KỸ THUẬT UPLOAD TẬP TIN Đây chương quan trọng nhằm giúp sinh viên có khả năng: - Trình bày cách hệ thống, logic chế upload file bước thực upload file - Giải thích hàm sử dụng upload file Qua đó, sinh viên áp dụng kỹ thuật upload file vào tập cách xác, tự tìm tịi, học hỏi thêm tính nâng cao kỹ thuật Giáo Trình Lập Trình Web Trang 89 7.1 CƠ CHẾ UPLOAD FILE PHP hỗ trợ việc upload file đơn giản Tuy nhiên phải cẩn thận cho phép người dùng upload file Để sử dụng chức upload file php, ta phải bật file_uploads = On file cấu hình php.ini Sử dụng biến toàn cục $_FILE PHP để thao tác upload file $_FILE biến mảng chiều có dạng sau: $_FILES['nameInputFile']['properties'] Trong đó: nameInputFile: giá trị thuộc tính name trường input properties: Gồm thuộc tính o name: tên file o type: kiểu liệu file o tmp_name: đường dẫn tạm file server o error: trạng thái file (0 khơng có lỗi) o size: dung lượng file (đơn vị bytes) Tiến trình upload file: Người dùng mở trang upload lên chọn file muốn upload máy cá nhân thông qua nút Browse Sau người dùng ấn nút Submit, file gửi lên thư mục tạm thời server PHP kiểm tra file đến, sau chép file tới thư mục đích 7.2 THIẾT KẾ FORM CHO PHÉP UPLOAD FILE Để thiết kế form upload, ta phải lưu ý số thuộc tính giá trị sau Nếu khơng khơng thể upload file Giáo Trình Lập Trình Web Trang 90 Form phải sử dụng phương thức post Form phải có thuộc tính enctype="multipart/form-data" để qui định loại content sử dụng submit form Trường input để upload file phải có thuộc tính type="file", để tạo nút Browse cho người dùng chọn file Ví dụ: Select image to upload: Dữ liệu form ví dụ sau submit gửi qua trang upload.php để xử lý 7.3 XỬ LÝ FILE UPLOAD Tạo file upload.php để xử lý upload file sau: Trong đó: Thuộc tính $targetDir = "uploads/": qui định thư mục chứa file upload Thuộc tính $targetFile: qui định đường dẫn Thuộc tính $uploadOk: kiểm tra upload thành cơng hay khơng (1: thành cơng; 0: thất bại) Thuộc tính $imageFileType: lưu phần mở rộng file upload (*.jpg, *.png, *.gif …) Hàm basename(path, suffix) trả tên file từ đường dẫn o path: đường dẫn o suffix: Qui định phần mở rộng mà không hiển thị file (khơng bắt buộc) o Ví dụ: Giáo Trình Lập Trình Web Trang 92 o Kết hiển thị: home.php home Hàm pathinfo(path, option) trả mảng chứa thông tin đường dẫn o path: đường dẫn o option: PATHINFO_DIRNAME – trả tên thư mục chứa file upload PATHINFO_BASENAME – trả tên đầy đủ file PATHINFO_EXTENSION – trả phần mở rộng file Lưu ý: Phải tạo thư mục uploads nằm cấp với file upload.php, file upload thành công lưu trữ thư mục 7.4 KIỂM TRA FILE UPLOAD 7.4.1 | KIỂM TRA FILE ĐÃ TỒN TẠI Sử dụng hàm file_exists() để kiểm tra tồn file server if (file_exists($targetFile)) { echo "Sorry, file already exists."; $uploadOk = 0; } 7.4.2 | GIỚI HẠN KÍCH THƯỚC FILE Sử dụng biến $_FILES["fileToUpload"]["size"] để lấy kích thước file upload Trong đó, "fileToUpload" giá trị biến name trường input file form ví dụ if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Sorry, your file is too large."; $uploadOk = 0; Giáo Trình Lập Trình Web Trang 93 } 7.4.3 | GIỚI HẠN LOẠI FILE Ví dụ cho phép người dùng upload file hình ảnh, có phần mở rộng như: JPG, JPEG, PNG, GIF Như vậy, ta cần so sánh biến $imageFileType với kiểu file kể sau: if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = 0; } 7.4.4 | TỔNG HỢP CÁC BƯỚC Sau hồn thành file upload.php sau: Sau kiểm tra file thành công ($uploadOk=1), file di chuyển vào thư mục uploads server Hàm move_uploaded_file() dùng để di chuyển file upload tới vị trí Cú pháp: move_uploaded_file(file, newloc) Trong đó: file: qui định file muốn di chuyển newloc: qui định vị trí di chuyển file 7.5 Bài 1: BÀI TẬP Tạo trang web cho phép người dùng upload file sau: a Chỉ cho phép upload file hình file văn b Dung lượng tối đa file 2MB c (*) Cho phép người dùng chọn nhiều file lúc Bài 2: Tạo trang web cho phép người dùng chọn hình làm avatar Trong đó: a Chỉ cho phép upload hình ảnh b Dung lượng file tối đa 2MB c Hiển thị hình người dùng vừa chọn bên Giáo Trình Lập Trình Web Trang 96 d (*) Sau upload thành cơng hiển thị hình vừa chọn lên vị trí avatar hiển thị ln tất hình người dùng upload lên e (*) Cho phép người dùng chọn lại hình làm avatar từ hình upload bên (câu d) Giáo Trình Lập Trình Web Trang 97 TÀI LIỆU THAM KHẢO [1] Steve Prettyman Learn PHP SSBM Finance Inc, 2016 [2] Tutorials Point Murach’s PHP and MySQL 2nd Edition Tutorials Point (I) Pvt Ltd., 2016 [3] Joel Murach and Ray Harris PHP Hypertext Preprocesso Mike Murach and Associates, Inc., 2014 Website: [1] https://www.tutorialspoint.com/php/ [2] https://www.w3schools.com/php/default.asp Giáo Trình Lập Trình Web Trang 98 ... LỤC CHƯƠNG 1: CƠ BẢN VỀ LẬP TRÌNH PHP 1. 1 GIỚI THIỆU VÀ CÀI ĐẶT 1. 1 .1 1 .1. 2 1. 1.3 1. 1.4 1. 2 | | | | BIẾN, HẰNG VÀ KIỂU DỮ LIỆU 1. 2 .1 | 1. 2.2 | 1. 2.3 | 1. 3 1. 4 BIẾN ... Trình bày kiến thức lập trình với PHP Sau học xong chương này, sinh viên lập trình xử lý tốn PHP Giáo Trình Lập Trình Web Trang 1. 1 GIỚI THIỆU VÀ CÀI ĐẶT 1. 1 .1 | GIỚI THIỆU PHP PHP ngôn ngữ lập. .. 11 VÒNG LẶP 11 NHẬN DỮ LIỆU TỪ FORM 12 BÀI TẬP 13 CHƯƠNG 2: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG PHP .14 2 .1 MỘT SỐ KHÁI NIỆM CƠ BẢN 15 2 .1. 1