Cơ sở dữ liệu - Chương 5: Session và cookie

pdf 32 trang vanle 2420
Bạn đang xem 20 trang mẫu của tài liệu "Cơ sở dữ liệu - Chương 5: Session và cookie", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfco_so_du_lieu_chuong_5_session_va_cookie.pdf

Nội dung text: Cơ sở dữ liệu - Chương 5: Session và cookie

  1. CHƯƠNG 5: SESSION VÀ COOKIE 5.1 GIỚI THIỆU VỀ SESSION 5.2 GIỚI THIỆU VỀ COOKIE 5.3 SỬ DỤNG SESSION VỚI COOKIE 28/06/2014 Lập trình Web 1
  2. 5.1. GIỚI THIỆU VỀ SESSION Khái niệm session Chức năng của session Làm việc với session 28/06/2014 Lập trình Web 2
  3. Khái niệm session Session là một biến được dùng để lưu trữ thông tin hoặc sự thay đổi về phiên làm việc của một người dùng nào đó từ trang này đến trang khác trong cùng một Website. Các biến session chứa thông tin của người dùng và có tác dụng đối với tất cả các trang trong một ứng dụng. Các sesion được hỗ trợ trong các phiên bản php khác nhau cũng có điểm khác nhau. 28/06/2014 Lập trình Web 3
  4. Chức năng của session Sesion có chức năng lưu trữ thông tin của người dùng trên server cho lần sử dụng tiếp theo. Thông tin session chỉ mang tính chất tạm thời, nghĩa là nó sẽ bị mất đi khi người dùng hủy chúng, thời gian sống đã hết hoặc kết thúc trình duyệt. Nếu muốn lưu trữ lâu dài thì cần lưu nó trong CSDL. Các sesion làm việc bằng cách tạo ra một unique id (UID) cho mỗi Browser và lưu trữ các biến dựa trên UID này. 28/06/2014 Lập trình Web 4
  5. Chức năng của session Khi Browser mở ra ứng với trang Web bất kỳ của Website, session ID có giá trị là một dãy số ngẫu nhiên được lưu trữ trên phía client. Session ID có chu kỳ sống cho đến khi hết hạn sử dụng Có thể truyền session ID với URL hoặc ghi chúng ra Cookie Lưu ý: Thời hạn hết sử dụng của session do cấu hình của trình chủ Web server quy định. Session ID là thông tin duy nhất lưu trữ trên Client, các biến session được lưu trữ trong một tập tin dạng text trên server 28/06/2014 Lập trình Web 5
  6. Làm việc với session Khởi động session Khai báo và gán giá trị cho biến session Lấy giá trị của biến session Hủy bỏ biến session 28/06/2014 Lập trình Web 6
  7. Khởi động session Để sử dụng session, trước tiên cần khởi động nó. Có hai cách dùng để khởi động session: Có thể sử dụng cú pháp: session_start(); Cấu hình lại trong trang php.ini như sau: session.auto_start = 0 Nếu sử dụng hàm session_start() thì hàm này cần phải đặt trước thẻ 28/06/2014 Lập trình Web 7
  8. Khai báo và gán giá trị cho biến session Sau khi khởi động session, để khai báo và lưu trữ giá trị cho biến session ta sử dụng biến $_SESSION: $_SESSION[‘chỉ số’] = giá trị; Lưu ý: tên biến không có dấu $ ở trước Ví dụ: ta có đoạn code trong file1.php như sau: 28/06/2014 Lập trình Web 8
  9. Khai báo và gán giá trị cho biến session Khoi dong va dang ky session 3 session da duoc dang ky. 28/06/2014 Lập trình Web 9
  10. Lấy giá trị của biến session Sau khi được khởi động và lưu trữ thông tin, các session này có hiệu lực trên mọi trang php mà người dùng truy cập của Website ứng với Browser đang mở. Chẳng hạn, đoạn mã sau dùng để lấy nội dung được lưu trữ trong các session ở trang file1.php 28/06/2014 Lập trình Web 10
  11. Lấy giá trị của biến session Lay gia tri bien session Doc gia tri luu tru trong cac bien session o file1.php "; echo "Usename: ". $_SESSION['user']." "; echo "Email: ". $_SESSION['email']." "; echo "Name: ". $_SESSION['name']." "; ?> 28/06/2014 Lập trình Web 11
  12. Session ID Php sử dụng cookie để lưu trữ thông tin lấy được từ session ID. Ngoài ra, cũng có thể lưu trữ session ID vào URL Ví dụ: 28/06/2014 Lập trình Web 12
  13. Session ID 28/06/2014 Lập trình Web 13
  14. Hủy bỏ biến session Trường hợp không muốn sử dụng các biến session, ta có thể hủy bỏ chúng bằng cách gọi hàm session_unset() hoặc session_destroy(). Hàm session_unset() dùng để hủy bỏ các biến session đang có hiệu lực. Nếu chỉ muốn hủy bỏ một biến session nào đó ta cần truyền tham số cho hàm Hàm session_destroy() dùng để kết thúc tất cả các biến session và dữ liệu lưu trữ trong đó. 28/06/2014 Lập trình Web 14
  15. Hủy bỏ biến session ". $_SESSION['user']." "; session_unset($_SESSION['user']); echo "Email: ". $_SESSION['email']." "; echo "Name: ". $_SESSION['name']." "; ?> 28/06/2014 Lập trình Web 15
  16. 5.2. GIỚI THIỆU VỀ COOKIE Cookie là gì? Làm việc với Cookie 28/06/2014 Lập trình Web 16
  17. Cookie là gì? Cookie thường được dùng để xác định người sử dụng Nó được xem như session nhưng lưu trữ thông tin trên trình khách (client) Tại thời điểm nào đó, một máy tính yêu cầu một trang web cùng với trình duyệt browser thì nó cũng gửi Cookie đi kèm. 28/06/2014 Lập trình Web 17
  18. Làm việc với cookie Gán giá trị cho cookie Lấy giá trị của cookie Xóa cookie 28/06/2014 Lập trình Web 18
  19. Gán giá trị cho cookie Để gán giá trị cho cookie ta sử dụng hàm setcookie theo cú pháp: setcookie(name, [value, expire, path, domain]); Hàm setcookie cần đặt trước thẻ Ví dụ: 28/06/2014 Lập trình Web 19
  20. Lấy giá trị của cookie Để lấy giá trị của cookie ta sử dụng biến $_COOKIE theo cú pháp: $_COOKIE[‘tenbien’]; Chẳng hạn, để lấy thông tin được lưu trong cookie ở trên ta viết Vi du ve cookie Lay gia tri cua cookie! 28/06/2014 Lập trình Web 20
  21. Xóa cookie Để xóa cookie, cần chắc chắn thời điểm có hiệu lực là trong quá khứ Ví dụ: 28/06/2014 Lập trình Web 21
  22. Làm việc với cookie Trong trường hợp Browser không hỗ trợ cookie, cần phải sử dụng phương thức khác để chuyển thông tin từ trang này sang trang khác trong ứng dụng Một phương thức được sử dụng là chuyển thông tin thông qua form 28/06/2014 Lập trình Web 22
  23. Làm việc với cookie Ví dụ: ta có trang index.html như sau: Xay dung form nhap thong tin! Name: Age: 28/06/2014 Lập trình Web 23
  24. Làm việc với cookie Trang welcome.php có nội dung như sau: Welcome You are years old. 28/06/2014 Lập trình Web 24
  25. Làm việc với cookie Trang welcome.php có nội dung như sau: Welcome You are years old. 28/06/2014 Lập trình Web 25
  26. 5.3. SỬ DỤNG SESSION VỚI COOKIE Gán cookie bằng session Sử dụng cookie để lưu trữ session ID 28/06/2014 Lập trình Web 26
  27. Gán cookie bằng session  Đối với cookie có một số vấn đề sau đây:  Một vài webrowser không hỗ trợ cookie và một số người dùng không có các cookie trên browser của họ.  Đây là lý do để PHP sử dụng cả hai cách thức: cookie và URL method.  Khi sử dụng PHP session, ta sẽ không phải thiết lập các cookie, những hàm session sẽ lưu giữ những thông tin này cho chúng ta 28/06/2014 Lập trình Web 27
  28. Gán cookie bằng session  Để thiết lập session cookie ta dùng hàm: void session_set_cookie_params (int lifetime [, string path [, string domain]]) ::Welcome to PHP Session-Cookie 28/06/2014 Lập trình Web 28
  29. Gán cookie bằng session  Để xem nội dung của các cookie đã được thiết lập bởi session ta sử dụng hàm: session_get_cookie_params().  Hàm này sẽ trả về một mảng liên kết mà các phần tử của mảng chứa các thông tin như: lifetime, path, domain, . 28/06/2014 Lập trình Web 29
  30. Sử dụng cookie để lưu trữ session ID  PHP sẽ sử dụng các cookie mặc định cùng với session. Nếu có thể được, một cookie sẽ được thiết lập chứa SessionID.  Cách khác: đưa sessionID vào trong thẻ link. SessionID được chứa trong hằng SID.  Thêm vào cuối thẻ link hằng SID để dùng nó như là phương thức GET. Ví dụ sau: 28/06/2014 Lập trình Web 30
  31. Sử dụng cookie để lưu trữ session ID Khoi dong va dang ky session 28/06/2014 Lập trình Web 31
  32. Sử dụng cookie để lưu trữ session ID Lay gia tri bien session $c_value) print "$c_name = $c_value "; list($a,$b) = each($_GET); echo "SessionID:".$a; ?> 28/06/2014 Lập trình Web 32