Lập trình web PHP & MySQL (Cao đẳng CNTT) - Nguồn: BCTECH

66 30 0
Lập trình web PHP & MySQL (Cao đẳng CNTT)
                                 - Nguồn: BCTECH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

 Biết quy trình tạo, hiệu chỉnh cấu trúc, hủy table  Phân biệt các kiểu dữ liệu thông dụng trong MySQL  Trình bày các bước cập dữ liệu trên table..  Biết quy trình sao lưu và phục hồ[r]

(1)

UBND TỈNH BÀ RỊA – VŨNG TÀU

TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ

GIÁO TRÌNH

MƠ ĐUN LẬP TRÌNH WEB PHP & MySQL NGHỀ: CƠNG NGHỆ THƠNG TIN

TRÌNH ĐỘ: CAO ĐẲNG

(Ban hành kèm theo Quyết định số: ……/QĐ-CĐKTCN, ngày … tháng … năm 20…… Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR-VT)

(2)

TUYÊN BỐ BẢN QUYỀN

Nhằm đáp ứng nhu cầu học tập nghiên cứu cho giảng viên sinh viên nghề Công nghệ Thông tin trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu, chúng tơi thực biên soạn tài liệu Lập trình web PHP & MySQL

Tài liệu biên soạn thuộc loại giáo trình phục vụ giảng dạy học tập, lưu hành nội Nhà trường 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

(3)

LỜI GIỚI THIỆU

Giáo trình “Lập trình web PHP & MySQL” biên soạn dựa khung chương trình đào tạo Cao đẳng nghề Công nghệ Thông tin Trường Cao đẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê duyệt

Tác giả nghiên cứu số tài liệu, công nghệ đại kết hợp với kinh nghiệm làm việc thực tế để viết nên giáo trình Nội dung tác giả trình bày động, dễ hiểu kèm theo bước hướng dẫn thực hành chi tiết theo nguyên tắc quan tâm đến kết đầu ra, khả tự học kỹ cần thiết để HSSV hồn thành ứng dụng web quảng cáo sản phẩm, thương mại điện tử, … ngôn ngữ PHP, ngôn ngữ lập trình ứng dụng web thơng dụng nay, đáp ứng nhu cầu thực tế doanh nghiệp

Nội dung giáo trình chia thành 11 bài, đó: Bài 1: Tổng quan PHP MySQL

Bài 2: Quản trị MySQL phpmyadmin Bài 3: Tổng quan PHP

Bài 4: Đọc liệu từ địa form

Bài 5: Thao tác với kiểu liệu PHP Bài 6: Cấu trúc điều khiển

Bài 7: Xây dựng sử dụng hàm Bài 8: Sử dụng include require Bài 9: Tạo lớp đối tượng

Bài 10: Truy xuất MySQL PHP

Bài 11: Sử dụng đối tưởng quản lý PHP

Trong trình biên soạn, chắn giáo trình cịn nhiều thiếu sót Tác giả mong nhận ý kiến đóng góp q thầy/cơ em học sinh, sinh viên để tiếp tục hoàn thiện

Xin chân thành cảm ơn quý đồng nghiệp, bạn bè có ý kiến đóng góp q trình biên soạn giáo trình

(4)(5)

MỤC LỤC

LỜI GIỚI THIỆU

MỤC LỤC

BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL 11

1 Giới thiệu MySQL 11

2 Giới thiệu PHP 11

3 Cài đặt cấu hình gói XAMPP 11

3.1 Cài đặt XAMPP 11

3.2 Chọn chức khởi động cấu hình cổng 12

3.3 Cấu hình tập tin httpd.conf httpd-ssl.conf 13

4 Khởi động dịch vụ 14

CÂU HỎI, BÀI TẬP 15

GỢI Ý, ĐÁP ÁN 15

BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN 17

1 Mở giao diện phpmyadmin 17

2 Tạo CSDL 18

3 Hủy CSDL 18

4 Tạo, hiệu chỉnh cấu trúc hủy table 19

4.1 Tạo table 19

4.2 Hiệu chỉnh cấu trúc table 20

4.3 Hủy table 20

5 Tạo khóa ngoại 21

6 Tạo Unique 21

7 Đọc, thêm, xóa, sửa liệu 22

8 Sao lưu phục hồi liệu 23

8.1 Sao lưu liệu 23

(6)

CÂU HỎI, BÀI TẬP 24

GỢI Ý, ĐÁP ÁN 24

BÀI 3: TỔNG QUAN VỀ PHP 27

1 Cấu trúc đoạn mã PHP 27

2 Sử dụng lệnh xuất 27

2.1 Lệnh xuất echo 27

2.2 Lệnh xuất print 28

2.3 Hàm sprintf 28

2.3 Lệnh xuất printf 29

2.4 Lệnh var_dump 29

3 Khai báo sử dụng biến, 29

4 Sử dụng toán tử 30

CÂU HỎI, BÀI TẬP 30

BÀI 4: ĐỌC DỮ LIỆU TỪ ĐỊA CHỈ VÀ FORM 33

1 $_GET 33

2 $_POST 33

3 $_REQUEST 34

CÂU HỎI, BÀI TẬP 34

GỢI Ý, ĐÁP ÁN 34

BÀI 5: THAO TÁC VỚI CÁC KIỂU DỮ LIỆU TRONG PHP 37

1 Luận lý 37

2 Số nguyên 37

3 Số thực 38

4 Hàm toán học 38

5 Chuỗi, ký tự 39

6 Hàm chuỗi 39

7 Mảng 39

(7)

7.2 Truy xuất 40

7.3 Hàm mảng 41

CÂU HỎI, BÀI TẬP 41

GỢI Ý, ĐÁP ÁN 42

BÀI 6: CẤU TRÚC ĐIỀU KHIỂN 45

1 if, if … else 45

1.1 Cấu trúc if 45

1.2 Cấu trúc if … else 45

2 switch 46

3 for, foreach 47

3.1 Vòng lặp for 47

3.2 Vòng lặp foreach 47

4 while, … while 48

5 Các lệnh break, continue 49

CÂU HỎI, BÀI TẬP 50

BÀI 7: XÂY DỰNG VÀ SỬ DỤNG HÀM 51

1 Định nghĩa hàm 51

2 Tham số hàm 51

CÂU HỎI, BÀI TẬP 52

BÀI 8: SỬ DỤNG INCLUDE VÀ REQUIRE 53

1 include, include_once 53

2 require, require_once 54

CÂU HỎI, BÀI TẬP 54

BÀI 9: TẠO CÁC LỚP ĐỐI TƯỢNG 55

1 Tổng quan 55

2 Xây dựng lớp đối tượng (class) 56

2.1 Tạo lớp đối tượng 56

(8)

2.3 Xây dựng phương thức 56

2.4 Từ khóa static 58

3 Sử dụng lớp đối tượng 58

CÂU HỎI, BÀI TẬP 59

BÀI 10: TRUY XUẤT MYSQL TRONG PHP 61

1 Giới thiệu PDO 61

2 Lý chọn PDO 61

3 Tạo kết nối – Hủy kết nối 62

3.1 Tạo kết nối 62

3.2 Hủy kết nối 63

3.3 Xử lý lỗi kết nối 63

4 Thực thi lệnh SQL 64

4.1 Các lệnh Insert, Update, Delete 64

4.2 Câu lệnh Select 64

5 Transaction 64

6 PDO Statement 65

6.1 Prepared statement 65

6.2 Thực thi 65

6.3 Duyệt liệu 65

6.4 Truyền tham số câu truy vấn 66

6.5 Đếm số lượng mẫu tin 67

CÂU HỎI, BÀI TẬP 67

GỢI Ý, ĐÁP ÁN 67

BÀI 11: CÁC ĐỐI TƯỢNG QUẢN LÝ TRONG PHP 69

1 SESSION 69

1.1.Khái niệm 69

1.2 Cách thức hoạt động 69

(9)

1.4 Đăng ký session 70

1.5 Sử dụng session 70

1.6 Hủy toàn biến session 70

1.7 Hủy biến session 70

2 COOKIE 70

2.1 Khái niệm 70

2.2 Khai báo cookie 70

2.3 Sử dụng cookie 71

2.4 Hủy cookie 71

CÂU HỎI, BÀI TẬP 71

GỢI Ý, ĐÁP ÁN 71

(10)

GIÁO TRÌNH MƠ ĐUN

Tên mơ đun: Lập trình web PHP & MySQL Mã mơ đun: MĐ22

Vị trí, tính chất, ý nghĩa vai trị mơ đun:

 Vị trí: bố trí sau học xong mơn sở Thiết kế web  Tính chất: mơ đun tự chọn

 Ý nghĩa vai trò mô đun: cung cấp cho người học kiến thức kỹ để thiết kế, xây dựng phát triển ứng dụng web đơn giản ngôn ngữ PHP với Hệ quản trị sở liệu MySQL từ ứng dụng xây dựng website thương mại, quảng bá chuyên nghiệp từ framework, CMS mã nguồn mở

Mục tiêu mô đun: Về kiến thức:

 Biết nguồn gốc lợi ích PHP MySQL trình xây dựng phát triển web

 Biết quy trình quản lý CSDL MySQL phpmyadmin

 Biết quy trình quản lý table CSDL MySQL phpmyadmin  Biết cấu trúc đoạn mã, cú pháp lập trình PHP

Về kỹ năng:

 Cài đặt cấu hình gói XAMPP

 Quản lý CSDL MySQL phpmyadmin  Đọc thông tin người dùng từ URI FORM

 Tạo tập tin cấu hình, thư viện để sử dụng cho nhiều site PHP

 Tạo trang web tính tốn, truy xuất CSDL MySQL ngơn ngữ PHP  Quản lý thông tin người dùng, tạo chức giỏ hàng SESSION

COOKIE

Về lực tự chủ trách nhiệm:

 Cẩn thận không làm ảnh hưởng đến hệ điều hành phần mềm khác máy tính trình cài đặt

 Khơng thay đổi thơng tin hệ thống ảnh hưởng đến việc truy xuất CSDL phpmyadmin

(11)

 Tự tìm hiểu để xây dựng ứng dụng web framework mã nguồn mở PHP như: Wordpress, Joomla, …

 Biết kiến thức tổng quan PHP MySQL

 Xây dựng phát triển ứng dụng web ngôn ngữ PHP với sở liệu MySQL

 Thực tập ứng dụng web đảm bảo trình tự An tồn cho người thiết bị

(12)

BÀI 1: TỔNG QUAN VỀ PHP VÀ MYSQL

Mã bài: 22.1 Giới thiệu:

Các ngơn ngữ lập trình ứng dụng web gồm: ASP.NET, PHP, JSP Trong đó, phổ biến ASP.NET PHP (facebook viết PHP) Mỗi ngôn ngữ lập trình thường phù hợp với CSDL thơng dụng CSDL thông dụng ngôn ngữ PHP MySQL

Mục tiêu:

 Biết nguồn gốc PHP, MySQL

 Biết lợi ích dùng PHP & MySQL để xây dựng phát triển web  Cài đặt cấu hình gói XAMPP

 Cẩn thận không làm ảnh hưởng đến hệ điều hành phần mềm khác máy tính q trình cài đặt

Nội dung chính: 1 Giới thiệu MySQL

MySQL sở liệu nguồn mở phổ biến Thế giới, cho phép phân phối ứng dụng sở liệu dựa tảng web với chi phí thấp hiệu suất cao

MySQL tập đoàn ORACLE cung cấp 2 Giới thiệu PHP

PHP ngôn ngữ kịch thông dụng đặc trưng phù hợp cho việc phát triển ứng dụng web

Với ưu điểm nhanh chóng, linh hoạt thực tế, PHP phát huy sức mạnh ứng dụng từ blog website phổ biến Thế giới

3 Cài đặt cấu hình gói XAMPP 3.1 Cài đặt XAMPP

Bước 1: truy cập vào trang web https://www.apachefriends.org Bước 2: chọn phiên phù hợp với hệ điều hành máy tính

(13)

Bước 3: chạy file cài đặt sau tải xong

Bước 4: thực cài đặt XAMPP vào C:\xampp 3.2 Chọn chức khởi động cấu hình cổng Bước 1: mở XAMPP Control Panel

Hình 1.2 Giao diện XAMPP Control Panel

Bước 2: click chuột lên nút Config để mở hộp thoại Configuration of Control Panel

(14)

Bước 3: đánh dấu chọn Apache MySQL nhóm Autostart of modules Nếu máy tính cài đặt VMWare dẫn đến xung đột cổng dịch vụ phải tiếp tục thực tiếp Bước Ngược lại chọn Save hồn tất cấu hình

Bước 4: click chuột lên nút Service and Port Settings Xuất hộp thoại Service Settings

Hình 1.4 Hộp thoại Service Settings

Bước 5: thay đổi giá trị cổng cho Main Port SSL Port (Ví dụ: 8080 888) chọn Save

Bước 6: hộp thoại Configuration of Control Panel, tiếp tục chọn Save kết thúc trình cấu hình cổng dịch vụ

3.3 Cấu hình tập tin httpd.conf httpd-ssl.conf

Trong trường hợp phải thực Bước Bước mục 3.2 phải tiếp tục cấu hình tập tin httpd.conf httpd-ssl.conf

Cấu hình httpd.conf

Bước 1: click chuột lên nút Config Module Apache hộp thoại XAMPP Control Panel

(15)

Bước 3: cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hộp thoại Bước 4: nhập nội dung vào Find what Replace with 80 8080 Bước 5: thực việc thay đổi nội dung Listen 80 thành Listen 8080 ServerName localhost:80 thành ServerName localhost:8080

Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình đóng cửa sổ Notepad

Cấu hình httpd-ssl.conf

Bước 1: click chuột lên nút Config Module Apache hộp thoại XAMPP Control Panel

Bước 2: chọn Apache (httpd-ssl.conf) danh sách sổ Xuất cửa sổ Notepad hiển thị nội dung tập tin httpd-ssl.conf

Bước 3: cửa sổ Notepad, nhấn tổ hợp phím Ctrl+H, xuất hộp thoại Bước 4: nhập nội dung vào Find what Replace with 443 888 Bước 5: thực việc thay đổi nội dung Listen 443 thành Listen 888 <VirtualHost _default_:443> thành <VirtualHost _default_:888>

Bước 6: nhấn tổ hợp phím Ctrl+S để lưu tập tin cấu hình đóng cửa sổ Notepad

4 Khởi động dịch vụ

Click chuột lên nút Start hai module Apache MySQL để chạy dịch vụ tối thiểu lập trình PHP truy xuất MySQL

(16)

Hình 1.7 Kết có chạy thành công dịch vụ CÂU HỎI, BÀI TẬP

1.1 Cài đặt XAMPP máy tính

1.2 Kể tên module quan trọng phải chạy XAMPP để lập trình PHP truy xuất MySQL

1.3 Khi cần phải cấu hình cổng dịch vụ XAMPP?

1.4 Trình bày bước thay đổi cổng dịch vụ tập tin cấu hình tương ứng GỢI Ý, ĐÁP ÁN

1.1 Tải file cài đặt địa chỉ: https://www.apachefriends.org 1.2 Hai module quan trọng: Apache, MySQL

1.3 Khi có xung đột cổng dịch vụ (Ví dụ: máy tính cài đặt VMWare)

(17)

BÀI 2: QUẢN TRỊ MYSQL TRÊN PHPMYADMIN

Mã bài: 22.2 Giới thiệu:

Một công cụ để quản lý MySQL sử dụng phổ biến ứng dụng web phpmyadmin Với phpmyadmin, dễ dàng quản lý MySQL thao tác click chuột giao diện web mà không cần phải nhớ hết cấu trúc lệnh sql

Mục tiêu:

 Biết quy trình tạo, hủy CSDL

 Biết quy trình tạo, hiệu chỉnh cấu trúc, hủy table  Phân biệt kiểu liệu thông dụng MySQL  Trình bày bước cập liệu table

 Biết quy trình lưu phục hồi liệu  Tạo đươc CSDL, table

 Tạo quan hệ table  Cập nhật liệu table  Sao lưu phục hồi liệu  Cẩn thận chọn CSDL

 Không thay đổi thông tin hệ thống ảnh hưởng đến việc truy xuất CSDL phpmyadmin

Nội dung chính:

1 Mở giao diện phpmyadmin

Cách 1: click chuột lên Admin module MySQL XAMPP Control Panel

Hình 2.1 Mở phpmyadmin từ XAMPP Control Panel Cách 2: truy cập vào địa

(18)

Hình 2.2 Giao diện phpmyadmin quản lý MySQL 5 Tạo CSDL

Bước 1: giao diện phpmyadmin, click chuột lên biểu tượng Home khung trái

Bước 2: chọn Databases khung phải

Bước 3: nhập tên CSDL cần tạo (Bookstore), chọn utf8mb4_general_ci danh sách Collation chọn Create

Hình 2.3 Nhập tên chọn Collation để tạo CSDL mới 6 Hủy CSDL

Bước 1: chọn biểu biểu Home Bước 2: chọn Databases

(19)

Hình 2.4 Danh sách sở liệu 7 Tạo, hiệu chỉnh cấu trúc hủy table

4.1 Tạo table

Bước 1: click chuột lên biểu tượng New CSDL

Hình 2.5 Cây danh sách sở liệu

Bước 2: nhập tên table cần tạo, khai báo danh sách cột kiểu liệu

Hình 2.6 Tạo table Lưu ý:

(20)

 Length: kích thước/độ dài (khi Type CHAR/VARCHAR)

 Chọn cột làm khóa: chọn PRIMARY danh sách Index cột tương ứng

 Khi khóa gồm nhiều cột: chọn PRIMARY cho cột tương ứng

 A_I (Auto Increment): giá trị cột tự phát sinh tăng dần thêm dòng liệu vào table Nghĩa là, nhập dòng liệu khơng cần phải nhập giá trị cho cột Chỉ sử dụng table có cột làm khóa Type cột số nguyên

Bước 3: click chuột lên nút 4.2 Hiệu chỉnh cấu trúc table

Bước 1: khung trái, chọn table cần hiệu chỉnh Bước 2: chọn Structure khung phải

Hình 2.7 Cấu trúc table  Mỗi dòng cột table

 Muốn xóa cột click chuột lên biểu tượng Drop dòng tương ứng  Muốn thay đổi thơng tin cột click chuột lên Change

 Muốn thêm cột nhập số cột cần thêm vào ô bên chọn Go 4.3 Hủy table

Bước 1: chọn CSDL khung trái

Hình 2.8 Danh sách table CSDL

(21)

Biểu tượng xóa tất liệu table khơng hủy table 8 Tạo khóa ngoại

Ví dụ: Tạo quan hệ 1-N cho table chude sach (một chude có nhiều sach) Bước 1: chọn sở liệu, table sach bên trái

Bước 2: chọn Structure Bước 3: chọn Relation view

Bước 4: nhập tên cho khóa ngoại (FK_SACH_CHUDE), chọn cột làm quan hệ table sach chude chọn Save

Hình 2.9 Tạo khóa ngoại 9 Tạo Unique

Unique: khơng phải khóa table kiểm tra thêm sửa dòng liệu table

Bước 1: chọn sở liệu, table sach bên trái Bước 2: chọn Structure

Bước 3: nhập số cột làm Unique chọn Go

Hình 2.10 Xác định số cột làm Unique

(22)

Hình 2.11 Khai báo thơng tin Unique 10 Đọc, thêm, xóa, sửa liệu

Bước 1: chọn sở liệu, table khung trái Bước 2: chọn Browse khung phải để xem liệu

Hình 2.12 Các dòng liệu table

(23)

 Click chuột lên biểu tượng để xóa dịng liệu Bước 3: muốn thêm liệu click chuột lên biểu tượng

Bước 4: nhập thông tin cho dòng liệu cần thêm click chuột lên nút Go

Hình 2.13 Giao diện thêm dịng liệu mới 11 Sao lưu phục hồi liệu

8.1 Sao lưu liệu

Bước 1: chọn CSDL khung trái Bước 2: chọn

Hình 2.14 Chọn định dạng export liệu Bước 3: click chuột lên nút Go

Bước 4: chọn ổ đĩa, thư mục chứa tập tin lưu 8.2 Phục hồi liệu

Bước 1: chọn CSDL Bước 2: chọn

(24)

Hình 2.15 Chọn liệu import Bước 4: click chuột lên nút bên

CÂU HỎI, BÀI TẬP

2.1 Tạo sở liệu TraCuuDiem table bên (bao gồm khóa, unique, quan hệ)

2.2 Sao lưu liệu TraCuuDiem

2.3 Xóa sở liệu TraCuuDiem phục hồi lại GỢI Ý, ĐÁP ÁN 2.1 Cơ sở liệu TraCuuDiem

Cấu trúc table lop

(25)

Cấu trúc table monhoc

Khóa Unique table monhoc

Cấu trúc table sinhvien

Khóa Unique table sinhvien

(26)

Cấu trúc table ketqua

(27)

BÀI 3: TỔNG QUAN VỀ PHP

Mã bài: 22.3 Giới thiệu:

Các trang web PHP kết hợp HTML element đoạn mã thực thi PHP Chúng ta tìm hiểu việc nhúng đoạn mã PHP HTML element

Mục tiêu:

 Biết cấu trúc đoạn mã PHP

 Biết sử dụng biến, toán tử, lệnh xuất PHP  Cẩn thận kiểu liệu phù hợp tính tốn

 Cẩn thận phân biệt chữ in, thường, cú pháp PHP Nội dung chính:

1 Cấu trúc đoạn mã PHP

Tập tin chứa đoạn mã PHP phải có phần mở rộng php Đoạn mã PHP đặt cặp thể sau:

Thẻ mở Thẻ đóng

<?php ?>

Ví dụ:

<?php

echo “PHP chào bạn!”; ?>

Chú ý: lệnh PHP kết thúc dấu chấm phẩy “;” 12 Sử dụng lệnh xuất

2.1 Lệnh xuất echo Cú pháp: echo $arg1;

Ví dụ:

<?php

$holot = “Nguyễn Văn”; $ten = “Thành”; echo “Họ tên: Nguyễn Văn Thành”;

echo “Họ: $holot”; echo “Tên: $ten”; echo “Họ tên: $holot $ten”;

echo “Họ tên: ” $holot “ ” $ten; ?>

(28)

Ví dụ:

<?php

$holot = “Nguyễn Văn”; $ten = “Thành”;

echo “Họ tên:\n$holot $ten”; ?>

2.2 Lệnh xuất print

Cú pháp: print (string $arg);

Ví dụ:

<?php

print(“Họ tên: $holot $ten”); ?>

2.3 Hàm sprintf

Công dụng: trả chuỗi định dạng Cú pháp:

sprintf (string $format [, mixed $args [, mixed $ ]]);

o $format: chuỗi định dạng

o $args: tham số truyền vào chuỗi định dạng o Các định dạng đại diện $format

 %b: tham số số nguyên, hiển thị dạng nhị phân  %c: tham số số nguyên, hiển thị dạng ký tự ASCII  %d: tham số số nguyên, hiển thị dạng số nguyên có dấu  %f: tham số số thực, hiển thị dạng số thực chấm động  %o: tham số số nguyên, hiển thị dạng hệ bát phân  %s: tham số chuỗi, hiển thị dạng chuỗi

 %u: tham số số nguyên, hiển thị dạng số nguyên không dấu  %x, %X: tham số số nguyên, hiển thị dạng thập lục phân Ví dụ:

<?php

$hoten = “Nguyễn Văn Thành; $tuoi = 20;

$s = sprintf(“Họ tên: %s, tuổi: %d”, $hoten, $tuoi); echo $s;

(29)

2.3 Lệnh xuất printf

Công dụng: kết hợp lệnh xuất echo hàm sprintf dùng để xuất chuỗi định dạng

Cú pháp:

printf ( string $format [, mixed $args [, mixed $ ]] )

Ví dụ:

<?php

$hoten = “Nguyễn Văn Thành”; $tuoi=20;

printf(“Họ tên: %s, tuổi: %d”, $hoten,$tuoi); ?>

2.4 Lệnh var_dump

Công dụng: hiển thị chuỗi cho biết kiểu liệu giá trị biểu thức Cú pháp: var_dump(biểu thức);

Ví dụ:

<?php $a=2; var_dump($a); ?> 13 Khai báo sử dụng biến, hằng

 Khai báo biến: $tên_biến;

 Quy tắc đặt tên biến:

o Bắt đầu ký tự $, theo sau ký tự dấu _, tiếp ký tự, số dấu _

o Nêu khởi tạo giá trị ban đầu khai báo biến o Không trùng tên biến với tên hàm

o Không bắt đầu ký số

o Lưu ý: phân biệt chữ HOA – chữ thường

 Gán giá trị cho biến: $tên_biến = <Giá trị>;

 Khai báo biến tồn cục: dùng từ khóa global đặt trước tên biến

 Các phương thức kiểm tra giá trị biến

o isset($tên_biến): kiểm tra biến có tồn hay khơng

o empty($tên_biến): kiểm tra biến có rỗng (null, khơng chứa giá trị) hay khơng

o is_numeric($tên_biến): kiểm tra biến có phải kiểu số hay không o is_double($ten_biến): kiểm tra biến có double hay khơng

(30)

 Sử dụng

o Hằng giá trị không thay đổi trình thực thi ứng dụng o Quy tắc đặt tên hằng: giống tên biến, thường dùng ký tự IN HOA o Cú pháp định nghĩa hằng: define (“TÊN_HẰNG”, <Giá trị>);

Ví dụ: define (“PI”, 3.14159); 14 Sử dụng toán tử

Toán tử Ý nghĩa

Nối hai chuỗi

$a=$b Gán giá trị $b cho $a

$c=$a+$b Tính tổng $a $b gán cho $c

$a++ Tăng $a lên đơn vị

$a += $b Tương đương với $a = $a + $b

$c=$a-$b Tính hiệu $a trừ $b gán cho $c

$a Giảm $a đơn vị

$a -= $b Tương đương với $a = $a - $b

$c = $a * $b Tính tích $a $b gán cho $c

$a *= $b Tương đương với $a = $a * $b

$c = $a / $b Tính thương $a chia $b gán cho $c

$a /= $b Tương đương $a = $a / $b

$a==$b TRUE $a $b

$a === $b TRUE $a $b kiểu

dữ liệu

$a != $b $a <> $b TRUE $a khác $b

$a !== $b TRUE $a khác $b khác kiểu

dữ liệu

$a < $b TRUE $a nhỏ $b

$a > $b TRUE $a lớn $b

$a <= $b TRUE $a nhỏ $b

$a >= $b TRUE $a lớn $b

$a <=> $b Nếu $a nhỏ $b trả -1

Nếu $a $b trả Nếu $a lớn $b trả CÂU HỎI, BÀI TẬP

3.1 Phần mở rộng tập tin chứa đoạn mã php? Cấu trúc đoạn mã php? 3.2 Công dụng cú pháp lệnh echo, print, printf, var_dump?

(31)

BÀI 4: ĐỌC DỮ LIỆU TỪ ĐỊA CHỈ VÀ FORM

Mã bài: 22.4 Giới thiệu:

Bài giúp HSSV biết kiến thức kỹ truyền truy xuất liệu trang

Mục tiêu:

 Biết phân biệt GET POST

 Biết nhận xử lý liệu từ địa FORM  Thực biện pháp an tồn cho máy tính Nội dung chính:

1 $_GET

 Là mảng kết hợp cặp Key-Value truyền thông qua tham số kèm theo URL

 Cú pháp: $_GET[“tên_tham_số”]

Ví dụ: http://localhost:8080/bookstore/index.php?option=chude&id=1 o $_GET[“option”] có giá trị “chude”

o $_GET[“id”] có giá trị 15 $_POST

 Là mảng kết hợp cặp Key-Value truyền người dùng submit từ form

 Thông tin gửi từ form với phương thức POST không giới hạn lượng thông tin gửi không hiển thị URL nên người dùng thấy

 Cú pháp: $_POST[“tên_điều_khiển”]

Ví dụ: Trên trang trang1.php có form sau:

<form method=“POST” action=“trang2.php”>

Nhập họ tên: <input type=“text” name=“hoten” /> <input type=“submit” value=“GỬI” />

</form>

Trên trang2.php, muốn hiển thị liệu người dùng submit trang1.php

<?php

$s = $_POST[“hoten”];

(32)

?>

16 $_REQUEST

 Là mảng kết hợp bao gồm $_GET $_POST

 Tức là, dùng $_REQUEST thay cho $_GET $_POST CÂU HỎI, BÀI TẬP

4.1 Tạo trang hiển thị chu vi diện tích hình chữ nhật, biết chiều dài chiều rộng truyền theo địa (ví dụ: http://localhost/bookstore/bai4.1.php?dai=5&rong=4)

4.2 Tạo trang bookstore/admin/chude/them.php chứa form cho phép nhập thông tin cho chude, hiển thị lại liệu nhập người dùng submit

(33)

4.2 Tạo trang bookstore/admin/chude/them.php Sử dụng Bootstrap để thiết kế giao diện

(34)

BÀI 5: THAO TÁC VỚI CÁC KIỂU DỮ LIỆU TRONG PHP

Mã bài: 22.5 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ tính tốn, sử dụng hàm với kiểu liệu PHP

Mục tiêu:

 Biết sử dụng kiểu liệu PHP

 Biết sử dụng phép toán, hàm liên quan với kiểu liệu  Tạo trang web nhận, xử lý hiển thị kết

 Cẩn thận truyền tham số có kiểu liệu phù hợp cho hàm Nội dung chính:

1 Luận lý

Kiểu bool, có hai giá trị TRUE/true FALSE/false Khi biến có giá trị TRUE lệnh xuất giá trị biến hiển thị giá trị Khi biến có giá trị FALSE lệnh xuất khơng hiển thị nội dung

Ví dụ:

17 Số nguyên

Giá trị số hệ thập phân, thập lục phân (cơ số 8) bát phân (cơ số 16)

(35)

18 Số thực

Số thực PHP không phân biệt float hay double Khi giá trị biến/biểu thức có dấu chấm thập phân PHP tự hiểu số thực

Ví dụ:

19 Hàm tốn học

Hàm Cơng dụng

abs($x) Trả giá trị tuyệt đối $x

ceil($x) Trả số nguyên nhỏ lớn $x

floor($x) Trả số nguyên lớn nhỏ $x

pi() Giá trị PI

min Tìm giá trị nhỏ

(36)

round($x, $n) Trả số thực từ $x làm tròn cịn $n số thập phân

pow($x, $y) Tính $x lũy thừa $y

rand($x, $y) Trả số nguyên ngẫu nhiên đoạn từ $x đến $y

20 Chuỗi, ký tự

 Mỗ ký tự chiếm byte

 Mỗi chuỗi chứa hay nhiều ký tự  Chuỗi khơng có giới hạn kích thước 21 Hàm chuỗi

Hàm Cơng dụng

trim($s) Bỏ khoảng trắng đầu chuỗi s

strlen($s) Trả chiều dài $s

strcmp($s1, $s2) So sánh hai chuỗi $s1 $s2

strpos($s_main, $s_sub) Trả vị trí tìm thầy $s_sub $s_main Nếu khơng tìm thấy trả FALSE

str_replace($s1, $s2, $s_main) Tìm $s_main, thay $s1 $s2 substr($s, $pos, [$len]) Từ vị trí $pos $s, lấy $len ký

tự

implode(“;”, array($s1, $s2)) Kết hợp $s1 $s2 thành chuỗi cách dấu chấm phẩy “;”

explode(“;”, $s) Tách chuỗi $s thành mảng chuỗi

con dựa vào dấu chấm phẩm “;” 22 Mảng

7.1 Khai báo

$tên_mảng = array();

Ví dụ:

$a = array();

Khai báo khởi tạo

$tên_mảng = array([khóa=>]giá trị, …);

Ví dụ

$a = array(1, 2, 3, 9, 7); $b = array(‘k1’=>2, ‘k2’=>5);

7.2 Truy xuất

Cú pháp: $tên_mảng[<khóa>]

Ví dụ:

(37)

$y = $b[‘k2’]; //$y có giá trị

 Đếm số phần tử mảng: $n = count($tên_mảng)

 Duyệt mảng

o Cách 1: duyệt mảng có khóa tự động

for ($i=0; $i<$n; $i++) {

//Xử lý phần tử $tên_mảng[$i] }

Ví dụ:

$mang = array(1, 2, 3, 5, 6, 4); $n = count($mang);

for ($i=0; $i<$n; $i++) echo “\t” $mang[$i];

o Cách 2: duyệt mảng có khóa người dùng tạo, quan tâm đến giá trị

foreach ($tên_mảng as $giá_trị) {

//Xử lý $giá_trị }

Ví dụ:

$mang = array(1=> “Một”, 2=> “Hai”, 3=> “Ba”, 4=> “Bốn”); foreach($mang as $x)

echo “\t $x”;

o Cách 3: duyệt mảng có khóa người tạo, lấy khóa giá trị

foreach ($tên_mảng as $khóa=>$giá_trị) {

//Xử lý $khóa $giá_trị }

Ví dụ:

$mang = array(

‘masv’ => ‘sv01’,

‘holot’=> ‘Nguyễn Văn’, ‘ten’ => ‘Thanh’

);

(38)

7.3 Hàm mảng

Hàm Cơng dụng

aray_search Trả vị trí có giá trị cần tìm mảng Ví dụ:

$k = array_search(<Giá trị cần tìm>, $tên_mảng); array_merge Ghép mảng vào mảng

$a = array_merge($tên_mảng_1, $tên_mảng_2); array_count_value

s

Đếm số lần xuất giá trị mảng Ví dụ:

$mang = array(1, “hello”, 1, “world”, “hello”, 2, “chào”, 1)

$mang_slxh = array_count_values($mang);

//$mang_slxh Array([1]=>3, “hello”=>2, “world=>3, 2=>1, “chào”=>1)

array_unique Tạo mảng chứa giá trị xuất lần Ví dụ:

$mang1 = array(1, 3, 1, 2, 5, 1, 3, 4); $mang2 = array_unique($mang1); //$mang2 Array(1, 3, 2, 5, 4)

array_diff Tạo mảng chứa giá trị thuộc mảng mà không thuộc mảng

Ví dụ:

$mang1 = array(“a”=> “xanh”, “đỏ”, “tím”, “vàng”); $mang2 = array(“b”=>”xanh”, “vàng”, “đỏ”);

$mang_con_1 = array_diff($mang1, $mang2); //$mang_con_1 array([0]=> “tím”)

CÂU HỎI, BÀI TẬP

(39)

GỢI Ý, ĐÁP ÁN

(40)(41)

BÀI 6: CẤU TRÚC ĐIỀU KHIỂN

Mã bài: 22.6 Giới thiệu:

Bài cung cấp cho HSSV sử dụng cấu trúc điều khiển PHP

Mục tiêu:

 Biết công dụng cấu trúc điều khiển

 Sử dụng cấu trúc điều khiển để giải toán PHP  Thực biện pháp an tồn cho máy tính

 Cẩn thận tránh vịng lặp vơ hạn Nội dung chính:

1 if, if … else 1.1 Cấu trúc if

Công dụng: kiểm tra thỏa điều kiện thực Cú pháp:

if (<Điều kiện>) {

//Các lệnh thực điều kiện }

Ví dụ:

$a=3; $b=5; if($b>$a)

echo $b “>” $a;

1.2 Cấu trúc if … else

Cơng dụng: kiểm tra điều kiện thực CV1, điều sai thực CV2

Cú pháp:

if (<Điều kiện>) {

//Các công việc }

else {

(42)

}

Ví dụ:

$a=3; $b=5; if($b>$a)

echo $b “>” $a; else

echo $a “>” $b; 23 switch

Công dụng: thực công việc theo trường hợp Cú pháp:

switch(<Biểu thức>) {

case <gt1>:

//thực công việc <Biểu thức> có giá trị <gt1>

break; case <gt2>:

//thực công việc <Biểu thức> có giá trị <gt2>

break; [

case <gt_i>:

//thực công việc <Biểu thức> có giá trị <gt_i>

break; ]

[

default:

//thực công việc <Biểu thức> có gí trị khác ] } Ví dụ: $t=2; switch ($t) {

(43)

default: echo “Không hợp lệ”; }

24 for, foreach 3.1 Vòng lặp for Cú pháp:

for (bt1; bt2; bt3) {

//Các lệnh thực bt2 }

 bt1: biểu thức khởi tạo biến đếm  bt2: biểu thức điều kiện

 bt3: biểu thức thay đổi giá trị biến đếm Ví dụ:

3.2 Vịng lặp foreach

Cơng dụng: duyệt phần tử danh sách/mảng Cách 1: quan tâm đến giá trị phần tử

Cú pháp:

foreach (array_expression as $value) {

//Các lệnh thực cho phần tử }

(44)

Cách 2: truy cập khóa giá trị phần tử Cú pháp:

foreach (array_expression as $key => $value) {

//Các lệnh thực với khóa, giá trỉ phần tử }

Ví dụ:

(45)

while (<biểu thức điều kiện>) {

//Các lệnh thực cho lần lặp }

Cú pháp … while:

do {

//Các lệnh thực cho lần lặp }while(<biểu thức điều kiện>);

Ví dụ:

(46)

CÂU HỎI, BÀI TẬP

6.1 Tạo trang web cho phép nhập vào hệ số nguyên a, b, c phương trình bậc Sau submit hiển thị kết nghiệm phương trình

6.2 Tạo trang web nhập vào tháng, năm Sau submit hiển thị lịch ngày tháng

(47)

BÀI 7: XÂY DỰNG VÀ SỬ DỤNG HÀM

Mã bài: 22.7 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ xây dựng sử dụng hàm tự định nghĩa

Mục tiêu:

 Biết cú pháp định nghĩa hàm  Xây dựng sử dụng hàm

 Tạo trang web xử lý hiển thị liệu có sử dụng hàm  Tránh xây dựng hàm mà PHP có sẵn

Nội dung chính: 1 Định nghĩa hàm Cú pháp:

function <TênHàm> ($ts1, $ts2, …) {

//các lệnh

[return <giá trị>;] }

Ví dụ 1:

function Xuat ($n) {

for ($i=0; $i<$n; $i++) echo $i;

}

Ví dụ 2:

function LuyThua ($a, $b) {

$kq = 1;

for ($i=1; $i<=$b; $i++) $kq = $kq * $a;

return $kq; }

27 Tham số hàm

Tham trị: ví dụ mục

(48)

Ví dụ:

Tham số có giá trị mặc định

(49)

BÀI 8: SỬ DỤNG INCLUDE VÀ REQUIRE

Mã bài: 22.8 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ dùng lệnh include require để chia nhỏ chức vào trang sử dụng cho trang khác Mục tiêu:

 Biết công dụng lệnh include, require

 Sử dụng lệnh include, include_once, require, require_once  Tạo trang web xử lý có sử dụng tập tin thư viện

 Xác định cẩn thận tập tin cần sử dụng lần hay nhiều lần Nội dung chính:

1 include, include_once

Công dụng chung: đặt lệnh từ tin thư viện vào vị trí lệnh include (include_once)

Khác nhau: include_once kiểm tra chưa sử dụng tập tin thư viện đặt lệnh vào

(50)

Ví dụ 2:

28 require, require_once require: tương tự include

require_once: tương tự include_once

CÂU HỎI, BÀI TẬP

(51)

BÀI 9: TẠO CÁC LỚP ĐỐI TƯỢNG

Mã bài: 22.9 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ lập trình hướng đối tượng PHP

Mục tiêu:

 Biết cú pháp định nghĩa lớp đối tượng  Xây dựng sử dụng lớp đối tượng

 Tạo trang web sử dụng lớp đối tượng xử lý

 Xác định cẩn thận lớp đối tượng cần xây dựng phù hợp với CSDL Nội dung chính:

1 Tổng quan Ý nghĩa

Đối tượng (Object) thực thể tồn giới thực

Hình 9.1: Mối tương quan đối tượng thực tế với đối tượng lập trình Ví dụ

 Con người

o Sinh viên Nguyễn Văn A o Nhân viên Huỳnh Thị B  Đồ vật

o Phịng học 1PM1 o Máy tính PCCH1 Tiếp cận hướng đối tượng

(52)

Lớp đối tượng

Là khái niệm lập trình hướng đối tượng, mơ tả thực thể có chung tính chất hành vi Class định nghĩa thuộc tính hành vi dùng cho đối tượng lớp

Kết trừu tượng hóa (Abstraction) đối tượng là:  Cùng loại

 Cùng thông tin mô tả đối tượng 29 Xây dựng lớp đối tượng (class)

2.1 Tạo lớp đối tượng

class <TênLớp> {

//Khai báo thuộc tính

//Gán lấy giá trị thuộc tính //Định nghĩa phương thức

}

2.2 Khai báo thuộc tính

Thuộc tính: thành phần lưu trữ tính chất, đặc điểm đối tượng Cú pháp: [<khóa truy cập>] <Tên thuộc tính>

<khóa truy cập>: private, protected, public

Nếu khơng có khóa truy cập hiểu public

Chú ý: thiết lập giá trị mặc định ban đầu cho tất thuộc tính tạo từ lớp

Ví dụ:

2.3 Xây dựng phương thức

Phương thức chức mà đối tượng thực hiện, có khơng có giá trị trả

Cú pháp:

[<khóa truy cập>] function <Tên phương thức> (các tham số) {

(53)

 Phương thức khởi tạo: phương thức có tên construct trùng với tên lớp Chỉ định nghĩa tối đa phương thức khởi tạo cho lớp đối tượng

Ví dụ:

hoặc

 Phương thức hủy: phương thức có tên destruct Chỉ định nghĩa tối đa phương thức hủy cho lớp đối tượng

Ví dụ:

 Các phương thức xử lý khác

Ghi chú:

Trong phương thức lớp, truy cập thuộc tính hay phương thức thơng qua trỏ $this

Con trỏ $this dùng để đối tượng thực thi phương thức

(54)

2.4 Từ khóa static

Sử dụng từ khóa static khai báo thuộc tính (hoặc phương thức)

biết thuộc tính (hoặc phương thức) lớp Ví dụ thuộc tính static:

Ví dụ phương thức static:

30 Sử dụng lớp đối tượng 3.1 Khởi tạo đối tượng

Cú pháp: $<tên biến> = new <Tên lớp>();

Ví dụ: $nv = new NHANVIEN();

3.2 Gán giá trị cho thuộc tính

Cú pháp: $<tên biến>-><tên thuộc tính> = <giá trị>;

Ví dụ:

$nv->holot = “Nguyễn Văn”; $nv->ten = “An”;

3.3 Gọi sử dụng phương thức

 Phương thức khơng có giá trị trả Cú pháp:

$<tên biến>-><tên phương thức>(các giá trị truyền vào có);

Ví dụ: $nv->SetHoLot(“Trần Thanh”);

 Phương thức có giả trị trả Cú pháp:

$<tên biến> = $<tên biến đối tượng>-><Tên phương thức>(các giá trị truyền vào có);

Ví dụ:

(55)

echo $hoten;

 Truy xuất thuộc tính/phương thức static Cú pháp:

<Tên lớp>::<Tên thuộc tính/Phương thức>

Ví dụ:

NHANVIEN::SetLuongCB(1150000); $luongcb = NHANVIEN::GetLuongCB(); echo $luongcb;

CÂU HỎI, BÀI TẬP

(56)

BÀI 10: TRUY XUẤT MYSQL TRONG PHP

Mã bài: 22.10 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ lập trình PHP để truy xuất liệu từ MySQL hiển thị trang web

Mục tiêu:

 Biết bước đọc, ghi liệu MySQL PHP  Tạo lớp đối tượng xử lý liệu MySQL  Tạo trang web đơn giản hiển thị liệu MySQL  Thực biện pháp an tồn cho máy tính Nội dung chính:

1 Giới thiệu PDO

 PDO – PHP Data Objects: lớp truy cập liệu cung cấp phương thức chuẩn để truy cập vào nhiều loại CSDL khác

Hình 10.1: Các CSDL mà PDO truy cập

 PDO cung cấp lớp truy cập liệu trừu tượng Nghĩa là, dù sử dụng CSDL nào, sử dụng phương thức để truy xuất CSDL

 PDO không cung cấp CSDL trừu tượng Vì vậy, cần phải sử dụng lớp trừu tượng cần CSDL

31 Lý chọn PDO

(57)

Hình 10.2: Mơ hình làm việc PDO loại CSDL

 Nhanh đơn giản: việc thao tác với loại CSDL driver tương ứng đảm nhiệm

Hình 10.3: Mơ hình driver tương ứng với CSDL PDO

 Linh động: Đễ chuyển đổi sang CSDL khác, cần thay đổi tên driver tương ứng

 An toàn: với giải pháp PDOStatement, khơng cịn lo sợ SQL injection cơng

Hình 10.4: Mơ hình giải pháp PDOStatement 32 Tạo kết nối – Hủy kết nối

3.1 Tạo kết nối Cú pháp:

$dbh = new PDO(<driver>, <username>, <password>, <driver_options>);

Tham số:

(58)

 <username>: tên đăng nhập vào CSDL

 <password>: mật đăng nhập vào CSDL

 <driver_options>: tham số tùy chọn, dùng để bổ sung thêm trạng thái kết nối PDO

Hình 10.5: Mơ hình dùng PDO kết nối đến CSDL từ PHP Server hỗ trợ nhiều driver:

 PDO_DBLIB (Microsoft SQL Server)  PDO_IBM (IBM DB2)

 PDO_MYSQL (MySQL)

 PDO_OCI (Oracle Call Interface)  PDO_PGSQL (Postgre SQL)

Xem server hỗ trợ loại driver nào:

<?php

printf_r(PDO:getAvailableDrivers()); ?>

Ví dụ: kết nối đến MySQL

$dbh = new PDO(‘mysql:host=localhost; dbname=bookstore’, ‘bctech’, ‘@12345Aa’);

3.2 Hủy kết nối

$dbh = null;

3.3 Xử lý lỗi kết nối

try {

$dbh = new PDO(‘mysql:host=localhost;

dbname=bookstore’, ‘bctech’, ‘@12345Aa’); //Các lệnh đọc, ghi liệu

$dbh = NULL; }

catch (PDOException $e) {

printf ‘Error: ’ $e->getMessage() ‘<br />’; die();

(59)

33 Thực thi lệnh SQL

4.1 Các lệnh Insert, Update, Delete Cú pháp:

$dbh -> exec(<sqlstatement>);

<sqlstatement>: tham số bắt buộc, câu lệnh cập nhật liệu gửi Kết trả về: số dòng bị ảnh hưởng Nếu khơng có dịng bị tác động kết Nếu khơng thực thi kết false

4.2 Câu lệnh Select Cú pháp:

$dbh -> query(<sqlstatement>);

Tham số: <sqlstatement>: tham số bắt buộc, câu lệnh truy vấn gửi 34 Transaction

 Một giao tác (transaction) chuỗi nhiều câu lệnh SQL kết hợp lại với thành khối công việc Việc kết hợp câu lệnh lại với giao tác nhằm đảm bảo tính tồn vẹn liệu khả phục hồi liệu

 Trong giao tác, câu lệnh độc lập với tất câu lệnh giao tác địi hỏi phải thực thi trọn vẹn khơng câu lệnh thực thi

Hình 10.6: Mơ hình Transaction PDO Transaction định nghĩa dựa câu lệnh xử lý sau đây:

(60)

 COMMIT: đánh dấu kết thúc transaction Câu lệnh báo hiệu kết thúc thành công transaction Sau câu lệnh này, transaction bắt đầu

 ROLLBACK: hủy transaction đưa CSDL trang thái trước transaction bắt đầu Một transaction bắt đầu sau câu lệnh ROLLBACK thực thi

35 PDO Statement 6.1 Prepared statement

Sử dụng prepared statement giúp tránh SQL injection Cú pháp: $statement = $dbh->prepare(<query>);

Tham số:

<query>: tham số bắt buộc, câu lệnh gửi Ví dụ:

$statement = $dbh->prepare(‘SELECT * FROM sua’);

6.2 Thực thi

Cú pháp: $statement->execute();

6.3 Duyệt liệu

Duyệt mẫu tin

Cú pháp: PDOStatement->fetch([int $fetch_style]);

Dữ liệu lấy thông qua phương thức fetch() Trước gọi fetch(), cần phải cho PDO biết liệu muốn lấy thơng quan tham số tùy chọn $fetch_style

Hình 10.7: Mơ hình tương quan đối tượng dãy mẫu tin thông qua PDO Giá trị $fetch_style:

 PDO::FETCH_NUM: kết trả mảng (có số) chứa giá trị dòng liệu với phần tử nội dung cột  truy cập cách gọi phần tử mảng $row[0], $row[1], $row[2], …

(61)

 PDO::FETCH_BOTH: kết trả mảng (có số chuỗi số) chứa giá trị dòng liệu với phần tử nội dung cột  truy cập cách gọi phần tử mảng theo FETCH_NUM FETCH_ASSOC

 PDO::FETCH_OBJ: kết trả mẫu tin mẫu tin đối tượng  truy cập cách gọi thuộc tính đối tượng: $<tên đối tượng>-><tên cột 1>, $<tên đối tượng>-><tên cột 2>, …

Duyệt danh sách mẫu tin

PDOStatement->fetchAll([int $fetch_style, [$column_index]]) Tham số:

 $fetch_style:

o PDO::FETCH_BOTH: giá trị mặc định Kết trả mảng hai chiều, phần tử mảng chiều (có số chuỗi số) chứa giá trị dòng liệu với phần tử nội dung cột

o PDO::FETCH_COLUMN: kết trả mảng chiều chứa tất giá trị cột định

 $column_index: kết trả cột định $fetch_style có giá trị PDO::FETCH_COLUMN

Ví dụ:

$sql= ‘SELECT * FROM chude’;

$statement = $dbh->prepare($sql); $statement->execute();

$ds = $statement->fetchAll(PDO::FETCH_BOTH); foreach ($ds as $t){

echo $t[0]; }

6.4 Truyền tham số câu truy vấn Cú pháp:

PDOStatement->bindParam(mixed $parameter $mixed &$variable [, int $data_type, [,int $length [,$mixed $driver_options]]]);

Tham số:

 $parameter: tên tham số

(62)

 $data_type: tùy chọn kiểu liệu tham số, có cú pháp PDO:PARAMS_*

 $length: tùy chọn, chiều dài kiểu liệu  $driver_options: tùy chọn driver

6.5 Đếm số lượng mẫu tin

Cú pháp: PDOStatement->rowCount();

Trả số lượng mẫu tin bị tác động câu lệnh insert, update, delete Ví dụ: đếm số lượng mẫu tin bị xóa

CÂU HỎI, BÀI TẬP

10.1 Tạo trang xem, xóa, sửa liệu table CSDL GỢI Ý, ĐÁP ÁN

(63)

BÀI 11: CÁC ĐỐI TƯỢNG QUẢN LÝ TRONG PHP

Mã bài: 22.11 Giới thiệu:

Bài cung cấp cho HSSV kiến thức kỹ sử dụng đối tượng quản lý PHP để truy xuất thông tin người truy cập

Mục tiêu:

 Biết công dụng đối tượng $_SESSION, $_COOKIE  Tạo trang đăng nhập, kiểm tra đăng nhập

 Tạo chức giỏ hàng, đặt hàng trực tuyến

 Cẩn thận không lưu mật $_SESSION $_COOKIE Nội dung chính:

1 SESSION 1.1.Khái niệm

 Cho phép lưu trữ thông tin người dùng trình duyệt (tên người dùng, giỏ hàng, …) suốt trình truy cập ứng dụng web

 Thông tin session tạm thời thông tin bị xóa sau người truy cập rời khỏi ứng dụng web

 Nếu cần, phải lưu trữ thông tin CSDL 1.2 Cách thức hoạt động

 Làm việc cách tạo đia (UID) cho người truy cập

 UID có giá trị dãy số ngẫu nhiên

 UID lưu COOKIE truyền lên URL

 Ngồi UID, khai báo, khởi tạo sử dụng biến session khác, tất cá session có giá trị cho người sử dụng họ truy cập đến ứng dụng web

1.3 Khởi động session

 Trước lưu trữ thông tin người dùng vào session, cần khởi động session  Chú ý: hàm khởi động session phải đặt trước thẻ <html>

(64)

1.4 Đăng ký session

 Sử dụng biến $_SESSION nhận lưu trữ giá trị biến session  Cú pháp: $_SESSION[‘tên biến session’] = <giá trị>;

1.5 Sử dụng session

 Khi muốn sử dụng biến session giá trị lưu biến session đăng ký  dùng biến $_SESSION

 Cú pháp: $<biến> = $_SESSION[‘tên biến’];

1.6 Hủy toàn biến session

 Khi không cần dùng đến biến session hủy bỏ tồn biến session đăng ký hàm session_destroy()

 Cú pháp: session_destroy();

1.7 Hủy biến session

 Khi khơng cần dùng đến biến session dùng hàm unset() để hủy biến session

 Cú pháp: unset($_SESSION[‘tên biến’]); 36 COOKIE

2.1 Khái niệm

 Sử dụng để xác định thông tin người dùng

 Là tập tin nhỏ server lưu trữ xuống máy tính người dùng

 Mỗi máy tính yêu cầu trang tới trình duyệt, gửi theo cookie

 Với PHP, ta tạo sử dụng giá trị biến cookie 2.2 Khai báo cookie

 Chú ý: khai báo cookie phía thẻ <html>

 Cú pháp: setcookie (name, value, expire[, path, domain]);

o name: tên biến cookie o value: giá trị

(65)

o path: đường dẫn

o domain: tên miền website 2.3 Sử dụng cookie

 Dùng biến $_COOKIE để đọc giá trị biến cookie  Cú pháp: $<biến> = $_COOKIE[‘tên biến cookie’]; 2.4 Hủy cookie

 Khi muốn hủy biến cookie cần kiểm tra lại thời gian giới hạn dành cho biến cookie

 Sử dụng hàm setcookie() để hủy cách đặt giá trị biến cookie ‘’ ghời gian = -<thời gian giới hạn>

 Cú pháp: setcookie(name, ‘’, time() - <thời gian giới hạn) CÂU HỎI, BÀI TẬP

11.1 Tạo thư mục administrator website, tạo trang đăng nhập, quản lý nội dung CSDL Đảm bảo phải đăng nhập thành công quản lý nội dung

Cho phép người dùng đăng nhập tạo giỏ hàng GỢI Ý, ĐÁP ÁN Sử dụng $_SESSION để lưu thông tin đăng nhập

(66)

TÀI LIỆU THAM KHẢO [1] Trang PHP.NET: http://php.net

[2] Trang W3SCHOOLS: https://www.w3schools.com/php/default.asp

eb https://www.apachefriends.org. http://localhost/phpmyadmin ( http://localhost:8080/phpmyadmin) http://localhost:8080/bookstore/index.php?option=chude&id=1 http://localhost/bookstore/bai4.1.php?dai=5&rong=4) http://php.net https://www.w3schools.com/php/default.asp https://www.youtube.com/user/wsphuoc

Ngày đăng: 10/03/2021, 15:34

Tài liệu cùng người dùng

Tài liệu liên quan