Giáo trình PHP8+ cơ bản
Cơ bản
Giới thiệu ngôn ngữ PHP
Bắt đầu làm việc
Thực thi mã PHP
Vấn đề với mã hóa
Hiển thị lỗi PHP
Mã đầy đủ để khởi chạy PHP
Mã khởi chạy được cải thiện
Tổng quan các lệnh PHP ban đầu
Chú thích trong PHP
Chú thích trong sách giáo khoa
Dump biến
Hàm trong PHP
Biến
Sử dụng biến
Thay đổi giá trị biến
Các phép toán số học với số
Các phép toán số học với biến
Ưu tiên của các phép toán số học
Ưu tiên bằng nhau
Dấu ngoặc nhóm
Sắc thái của việc nhóm
Phân số
Số âm
Phần dư của phép chia
Lũy thừa
Ưu tiên của phép lũy thừa
Chuỗi
Nối chuỗi
Dấu cách khi nối chuỗi
Độ dài chuỗi
Vấn đề với chữ Cyrillic
Thẻ
Thuộc tính của thẻ
Giá trị logic
Giá trị null
Chuyển đổi kiểu tự động
Chuyển đổi tự động sang chuỗi
Sắc thái khi chuyển đổi sang chuỗi
Chuyển đổi sang số
Chuyển đổi sang phân số
Chuyển đổi phân số sang số nguyên
Chuyển đổi số sang chuỗi
Ký tự của chuỗi
Chữ số trong chuỗi
Truy cập các chữ số của số
Sắc thái khi làm việc với phép gán
Các phép toán rút gọn
Tăng giá trị
Kiểu tiền tố và hậu tố
Thực hành tìm lỗi
Thực hành với các phép toán
Thực hành với công thức
Mảng
Giới thiệu về mảng
Xem nội dung mảng
Phần tử riêng lẻ của mảng
Mảng kết hợp
Mẹo với khóa
Thứ tự các phần tử
Độ dài mảng
Thay đổi phần tử
Ghi đè phần tử mảng
Tăng phần tử
Điền vào mảng
Chỉ định khóa rõ ràng
Khóa từ biến
Thực hành tìm lỗi
Điều kiện
Cấu trúc if-else
Toán tử lớn hơn và nhỏ hơn
Kiểm tra bằng nhau
Kiểm tra không bằng nhau
So sánh biến
Kiểu dữ liệu và cấu trúc if-else
Số trong dấu ngoặc kép
Bằng nhau về giá trị và kiểu
Không bằng nhau về giá trị và kiểu
Sắc thái khi so sánh kiểu dữ liệu
Điều kiện phức tạp trong if-else
Logic AND
Logic OR
Ưu tiên phép toán so sánh
Nhóm điều kiện
Đảo ngược phát biểu
Cấu trúc if-else và giá trị boolean
So sánh không nghiêm ngặt giá trị logic
if rút gọn
Sắc thái của phép toán rút gọn
Lệnh isset
Ẩn cảnh báo
Kiểm tra phần tử mảng
Lệnh empty
Tính không bắt buộc của lệnh else
Tính không bắt buộc của dấu ngoặc nhọn
Vấn đề với tính không bắt buộc của dấu ngoặc
Kết hợp if-else
Cấu trúc elseif
if lồng nhau
Cấu trúc switch
Tính không bắt buộc của default
Cấu trúc match
Tính không bắt buộc của break
Toán tử ternary
Toán tử hợp nhất với null
Chuỗi toán tử hợp nhất với null
Phép toán logic
Xác định phần của giờ
Kiểm tra độ dài chuỗi và mảng
Kiểm tra ký tự chuỗi
Kiểm tra số dư của phép chia
Thực hành tìm lỗi
Thực hành if else
Vòng Lặp
Giới thiệu
Vòng lặp foreach
Vòng lặp foreach với khóa
Vòng lặp while
Vòng lặp for
Điều kiện trong vòng lặp
Tích lũy tổng các số
Tích lũy tổng các phần tử
Hình thành chuỗi trong vòng lặp
Tính không bắt buộc của dấu ngoặc nhọn
Vấn đề của tính không bắt buộc dấu ngoặc
Lệnh break
Lệnh continue
Làm việc với cờ
Vòng lặp lồng nhau
Vòng lặp for cho mảng
Điền mảng trong vòng lặp
Thay đổi mảng trong vòng lặp
Lời khuyên về viết mã
Thực hành tìm lỗi
Thực hành về vòng lặp
Mảng đa chiều
Giới thiệu
Mảng ba chiều
Mảng kết hợp
Mảng tùy ý
Duyệt mảng đa chiều
Duyệt mảng ba chiều
Làm việc với khóa
Điền mảng đa chiều
Điền số theo thứ tự
Mảng của các mảng kết hợp
Chuyển đổi mảng đa chiều
Các hàm toán học
Các hàm xử lý chuỗi
Độ dài chuỗi
Chữ hoa chữ thường
Cắt chuỗi
Kiểm tra chuỗi
Tìm kiếm trong chuỗi
Tách chuỗi
Xóa khoảng trắng hai đầu chuỗi
In chuỗi với phần chèn
Định dạng hiển thị số
Đảo ngược chuỗi
Điền đầy chuỗi
Làm việc với thẻ
Mã ký tự
Đếm chuỗi con
Các phần của chuỗi
Các hàm mảng
Tìm kiếm trong mảng
Các phần tử ở biên
Cắt mảng
Nối mảng
Dải trong mảng
Điền vào mảng
Hợp nhất mảng
Khóa-giá trị
Đảo ngược
Thay thế
Xóa bản sao
Đếm phần tử
Chia thành mảng con
Sắp xếp
Các phép toán tập hợp
Ngẫu nhiên
Thời Gian
Làm việc với timestamp
Định dạng
Phân tích ngày tháng tự do
Kiểm tra tính chính xác
Múi giờ
Thay đổi
So sánh chuỗi
So sánh ngày không có năm
Ngày rơi vào khoảng thời gian
So sánh timestamp
Hàm người dùng tự định nghĩa
Giới thiệu
Tham số hàm
Nhiều tham số
Tham số biến
Tham số tùy chọn
Lệnh return
Gọi hàm tuần tự
Điểm tinh tế của return
Vòng lặp và return
Ứng dụng return trong vòng lặp
Thủ thuật làm việc với return
Cờ trong hàm
Toán tử logic trong hàm
Lời khuyên về hàm
Thực hành tìm lỗi
Bài thực hành về hàm
Phạm vi
Tham chiếu-nguyên thủy
Tham chiếu-mảng
Tham chiếu trong foreach
Biến nội bộ
Biến bên ngoài
Biến trùng tên
Biến toàn cục
Thay đổi tham số
Tham số-tham chiếu
Đệ quy
Đệ quy
Ví dụ với tham số
Tổng các phần tử mảng
Đệ quy và mảng đa chiều
Tổng của mảng đa chiều
Thao tác với các phần tử
Biểu thức chính quy
Giới thiệu
Các toán tử lặp lại
Dấu ngoặc nhóm
Ký tự thoát đặc biệt
Danh sách ký tự đặc biệt
Dấu ngoặc nhọn
Giới hạn tính tham lam
Các nhóm ký tự
Tập hợp ký tự
Đảo ngược tập hợp ký tự
Đặc điểm của ký tự Cyrillic
Ký tự đặc biệt bên trong tập hợp
Nhóm ký tự bên trong tập hợp
Ký tự đặc biệt loại trừ bên trong tập hợp
Ký tự dấu mũ bên trong tập hợp
Đặc điểm của dấu gạch ngang bên trong tập hợp
Đầu và cuối chuỗi
Cuối hoặc đầu từ
Lệnh 'hoặc'
Ký tự giới hạn
Ký tự thoát giới hạn
Dấu gạch chéo ngược
Kiểm tra chuỗi
Kiểm tra tự động biểu thức chính quy
Kiểm tra toàn bộ chuỗi
Nhóm bắt khi tìm kiếm
Tìm tất cả các kết quả khớp
Tất cả kết quả khớp vào các nhóm
Thay đổi hành vi tìm kiếm
Dấu ngoặc không lưu giữ
Nhóm bắt khi thay thế
Nhóm bắt trong biểu thức
Nhóm bắt có tên
Nhóm bắt có tên bên trong biểu thức
Số thứ tự chung của các nhóm bắt
Xem trước
Xem lại
Thay thế với callback
Các bổ ngữ
Bỏ qua kiểu chữ trong biểu thức chính quy
Chú thích trong biểu thức chính quy
Làm việc với unicode trong biểu thức chính quy
Thay đổi tính tham lam của biểu thức chính quy
Ký tự thoát thông thường trong biểu thức chính quy
Nhiều bổ ngữ biểu thức chính quy
Ký tự thoát đặc biệt tự động
Lọc mảng
Tách chuỗi thành mảng
Hình thành chuỗi
Chèn biến
Chèn phần tử mảng
Chèn phần tử mảng kết hợp
Vòng lặp và chèn biến
Chèn phần tử mảng trong vòng lặp
Chèn phần tử mảng đa chiều trong vòng lặp
Tạo thẻ
Tạo thẻ với thuộc tính
Vòng lặp và tạo thẻ
Vòng lặp và tạo thẻ từ mảng
Vòng lặp và tạo thẻ cùng thuộc tính
Vòng lặp và tạo bảng HTML
Tạo bảng HTML bằng một vòng lặp
Tạo bảng HTML bằng hai vòng lặp lồng nhau
Chèn mã PHP vào HTML
Lệnh echo ngắn
Xuất biến trong HTML
Xuất phần tử mảng trong HTML
Điều kiện và ngắt mã PHP
Khối else trong ngắt mã PHP
Khối elseif trong ngắt mã PHP
Vòng lặp và ngắt mã PHP
Mảng trong vòng lặp khi ngắt mã PHP
Biểu mẫu
Giới thiệu về biểu mẫu
Phương thức gửi biểu mẫu
Lấy dữ liệu biểu mẫu
Lấy dữ liệu biểu mẫu bằng phương thức GET
Lấy dữ liệu biểu mẫu bằng phương thức POST
Xử lý biểu mẫu trong một tệp
Ẩn biểu mẫu sau khi gửi
Giữ lại giá trị biểu mẫu
Giữ lại giá trị mặc định của biểu mẫu
Mã rút gọn để giữ lại giá trị mặc định
Phần tử textarea
Giữ lại giá trị của textarea sau khi gửi
Ô kiểm (checkbox)
Sắc thái sử dụng ô kiểm
Giữ lại giá trị trong ô kiểm
Nút radio
Giữ lại giá trị trong nút radio
Hộp chọn (select)
Thuộc tính value trong hộp chọn
Giữ lại giá trị trong hộp chọn
GET request
GET request thông qua liên kết
Thực hành
Phiên làm việc (Session)
Giới thiệu về phiên làm việc
Các vấn đề có thể xảy ra
Sử dụng phiên làm việc trên một trang
Xóa phiên làm việc
Kết thúc toàn bộ phiên làm việc
Phiên làm việc và biểu mẫu
Ghi mảng vào phiên làm việc
Cookies
Giới thiệu về Cookie
Vấn đề thiết lập Cookie
Thiết lập Cookie tức thì
Bộ đếm tải lại trang
Thời gian sống của Cookie
Xóa Cookie
Xóa Cookie tức thì
Hệ thống tệp
Đọc tệp
Ghi tệp
Kết hợp thao tác
Đường dẫn tương đối
Đường dẫn tuyệt đối
Ưu điểm của đường dẫn tuyệt đối
Đường dẫn tuyệt đối đến script
Đổi tên tệp
Di chuyển tệp
Sao chép tệp
Xóa tệp
Xác định kích thước tệp
Kiểm tra sự tồn tại của tệp
Tạo thư mục
Xóa thư mục
Đổi tên thư mục
Di chuyển thư mục
Đọc nội dung thư mục
Phân biệt thư mục và tệp
Phân tích nội dung thư mục
Chèn tệp
Chia bố cục thành các phần tử
Ghi kết quả chèn vào biến
Kết nối tệp
Kết nối tệp một lần
Ghi kết quả kết nối vào biến
Cơ sở dữ liệu
Giới thiệu về cơ sở dữ liệu
PhpMyAdmin
Bảng thử nghiệm users
Thao tác chuẩn bị
Gửi truy vấn đến cơ sở dữ liệu
Tìm lỗi trong cơ sở dữ liệu
Kiểm tra khả năng hoạt động
Vấn đề với bảng mã
Mã kiểm tra đầy đủ
Nhận kết quả
Nhận kết quả dưới dạng mảng
Tạo mảng trong vòng lặp
Lựa chọn bản ghi
Phép toán logic
Trường lựa chọn
Chèn bản ghi
Chèn bản ghi khi thiếu cột
Cập nhật bản ghi
Xóa bản ghi
Sắp xếp bản ghi
Giới hạn số lượng
Đếm số lượng
Nhận số lượng
Truy vấn nâng cao
Tổ chức Cơ sở dữ liệu
Liên kết các bảng
Lấy dữ liệu từ các bảng đã liên kết
Chuỗi các bảng liên kết
Liên kết thông qua bảng liên kết
Quan hệ họ hàng
Nhiều hậu duệ
Liên kết kép
Thực hành
Thực hành Cơ sở dữ liệu
Làm việc với HTTP
Sách hướng dẫn HTTP
Phương thức yêu cầu HTTP
Tiêu đề yêu cầu HTTP
Mảng tiêu đề yêu cầu HTTP
Tiêu đề phản hồi HTTP
Vấn đề với tiêu đề phản hồi HTTP
Vấn đề với include
Gửi dòng bắt đầu phản hồi HTTP
Gửi mã trạng thái phản hồi HTTP
Chuyển hướng
Giới thiệu về chuyển hướng
Chuyển hướng tức thì
Yêu cầu GET và chuyển hướng
Tự chuyển hướng với thêm tham số
Thông báo flash
Mảng thông báo flash
Lưu biểu mẫu
Thông báo gửi thành công
Chuyển hướng khi xác thực biểu mẫu
Xác thực
Giới thiệu
Phân quyền
Phiên
Đăng xuất khỏi phiên
Đăng ký
Phân quyền ngay khi đăng ký
Thêm id vào phiên
Ẩn mật khẩu
Kiểm tra tính sẵn có của login
Xác thực dữ liệu
Băm
Thêm muối vào quá trình đăng ký
Thêm muối vào quá trình xác thực
Hàm password_hash
Hồ sơ
Tài khoản
Thay đổi mật khẩu
Xác nhận mật khẩu
Xóa tài khoản
Quyền
Đăng ký với phân chia quyền
Quyền và chuẩn hóa cơ sở dữ liệu