Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session – Ví dụ : Đếmsố lần duyệt trang web <?php session_start( ); if (isset($_SESSION["count"])) $_SESSION["count"] = $_SESSION["count"] + 1; else $_SESSION["count"] = 1; print “You've looked at this page ”. $_SESSION['count'] . “times.”; ?> Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Login Login Làm thế nào để ngăn không cho người dùng truy cập vào các trang web nếuchưa đăng nhập? Ý tưởng – Dùng các biến Session để lưutrạng thái đăng nhậpcủangười dùng: $_SESSION[“IsLogin”] = true/false : Lưutrạng thái đăng nhập $_SESSION[“Username”] : LưuTênđăng nhập $_SESSION[“Authentication”] : LưuLoại quyền đăng nhập Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Login Login – – G G ồ ồ m m 4 4 bư bư ớ ớ c c 1. Tạo trang login.htm yêu cầungười dùng đăng nhập. 2. Tạo trang validateuser.php xử lí thông tin đăng nhậptừ trang login.htm – KếtnốivớiCSDL, kiểmtrathôngtin đăng nhậpcóhợplệ hay không ? • Nếu không hợplệ thì cho redirect về trang login.htm. • Nếu hợplệ thì dùng mộtbiếntrongSession để lưutrạng thái login thành công – Ví dụ: $_SESSION[“IsLogin”] = true. – Lưuý : Phải đặtgiátrị mặc định cho biến Session này là false khi khởitạo một Session. 3. Tạo trang logout.php là trang xử lý khi người dùng logout Reset trạng thái login là chưa đăng nhập ($_SESSION[“IsLogin”] = false). Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Login Login 4. Trong tấtcả các trang muốnbảomật, thêm đoạnmãsauđể kiểmtra người dùng đã đăng nhậphay chưa, nếuchưa thì redirect lại trang login.htm <?php session_start(); if (!isset($_SESSION[“IsLogin”]) || $_SESSION[“IsLogin”] == false) header(“Location: login.htm”); ?> Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Gi Gi ỏ ỏ h h à à ng ng (shopping cart) (shopping cart) Session : Array : Mathang [ ] Session : Array : Soluong[ ] { { ‘ ‘ Book1 Book1 ’ ’ , , ‘ ‘ Book2 Book2 ’ ’ , , ‘ ‘ Book3 Book3 ’ ’ } } {13, 2, 7} {13, 2, 7} Xóa biến trong Session Ghi xuống CSDL . Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session – Ví dụ : Đếmsố lần duyệt trang web <?php session_start( ); if (isset($_SESSION["count"])) $_SESSION["count"]. 1; print “You've looked at this page ”. $_SESSION['count'] . “times.”; ?> Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Login Login . nhập $_SESSION[“Username”] : LưuTênđăng nhập $_SESSION[“Authentication”] : LưuLoại quyền đăng nhập Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao © 2007 Khoa CNTT - ĐHKHTN Session Session - - Ứ Ứ ng ng d d ụ ụ ng ng cho cho Login