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