Bài giảng Thiết kế và lập trình web - Bài 7: PHP nâng cao cung cấp cho người học các kiến thức: Session, Cookie, các hàm bảo mật trong chuỗi. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Thiết kế lập trình Web Bài PHP nâng cao Viện CNTT & TT Thiết kế lập trình Web Session Khái niệm Cách thức hoạt động Khởi động session Đăng ký session Sử dụng session Hủy biến session Thiết kế lập trình Web Khái niệm Session PHP cho phép lưu trữ thơng tin người dùng trình duyệt (tên người dùng, danh mục hàng hóa, …) suốt q trình làm việc họ Thơng tin session tạm thời thông tin bị xóa sau người dùng rời khỏi ứng dụng Web Nếu cần, phải lưu trữ thông tin CSDL Thiết kế lập trình Web Cách thức hoạt động Session làm việc cách tạo địa (UID) cho người sử dụng 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 số biến session khác, tất session có giá trị cho người sử dụng họ truy cập đến ứng dụng Web Thiết kế lập trình Web 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 phía thẻ HTML Cú pháp: session_start(); Thiết kế lập trình Web Đă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ị”; Ví dụ: tạo biến session lưu tên đăng nhập người dùng Thiết kế lập trình Web 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: $gia_tri = $_SESSION[“tên biến session”]; Ví dụ: đọc giá trị biến session tên đăng nhập Thiết kế lập trình Web Hủy biến session Hủy tồ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(); Thiết kế lập trình Web Hủy biến session Hủy biến session: – Khi không cần dùng đến biến session dùng hàm unset() để hủy bỏ biến session Cú pháp: unset($_SESSION[“tên biến session”]); Ví dụ: hủy bỏ biến session tên đăng nhập Thiết kế lập trình Web Ví dụ: Đếm số lần duyệt trang web 10 Thiết kế lập trình Web 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 “” thời gian = - thời gian giới hạn Cú pháp: setcookie(name, “”, time() – thời gian giới hạn) 20 Thiết kế lập trình Web Hủy cookie Ví dụ: hủy biến cookie người dùng với thời gian giới hạn biến 3600s 21 Thiết kế lập trình Web Gởi mail PHP Cú pháp: – mail(to, subject, message[, headers, parameters]) Ý nghĩa tham số: – to, subject, message: Như ý nghĩa textbox soạn mail – headers: Tùy chọn, sử dụng Bcc, Cc – parameters: Tùy chọn, thơng số trình soạn, gởi mail – Trong phần message: Sử dụng ký hiệu \n để xuống dịng Lưu ý: – Bạn khơng thể mail từ localhost – Muốn sử dụng chức gửi mail bạn phải có host thực Thiết kế lập trình Web Gởi mail PHP Lưu ý: – Vì lý bảo mật nên số host cấm sử dụng hàm mail PHP – Thường phối hợp với FORM để soạn thảo trình gởi mail Thiết kế lập trình Web Upload File lên server Form upload: File upload: Lưu ý: – Luôn sử dụng phương thức POST – Luôn sử dụng enctype="multipart/form-data" thẻ FORM Thiết kế lập trình Web Upload file lên Server Biến $_FILES[]: – $_FILES['myfile']['name'] • Tên file upload – $_FILES['myfile']['type'] • Kiểu file upload, vd: image/gif, image/jpeg, – $_FILES['myfile']['size'] • Kích thước tập tin upload (tính bytes) – $_FILES['myfile']['tmp_name'] • Vị trí file lưu trữ tạm server – $_FILES['myfile']['error'] • Mã lỗi việc upload (0 = Upload thành công) Thiết kế lập trình Web Upload file lên Server Xử lý: Thiết kế lập trình Web Upload file lên Server Upload nhiều file: Files upload: File 1: File 2: File 3: Thiết kế lập trình Web Upload file lên Server Xử lý upload nhiều file: Thiết kế lập trình Web Các hàm bảo mật chuỗi string addslashes(string $str) string stripslashes(string $str) string htmlspecialchars(string $str [, int $quote_style [, string $charset]]) string md5(string $str [, bool $raw_output]) string sha1(string $str [, bool $raw_output]) Thiết kế lập trình Web Các hàm bảo mật chuỗi string addslashes(string $str) Thêm ký tự backslash (\) phía trước ký tự ‘ " \ NUL chuỗi $str Thường dùng câu lệnh SQL để tránh xảy lỗi lưu lấy liệu từ CSDL Các hàm tương tự: – string quotemeta(string $str) –