Hướng dẫn dùng sessions definition trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về session trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Session là một cách để lưu trữ thông tin được sử dụng trên nhiều trang (page) của một website. Khác với cookie, session chỉ được lưu trữ trên web server.

Hướng dẫn dùng sessions definition trong PHP

Khi truy cập một website, user có thể chuyển request từ trang này sang trang khác. Ví dụ, user vào trang login để đăng nhập. Sau đó, user vào trang product để mua sản phẩm. Thông tin user login phải được lưu trữ lại để tránh việc user phải đăng nhập lại khi qua trang khác.

Session giúp giải quyết vấn đề này bằng cách lưu trữ thông tin user để sử dụng trên nhiều trang như username, product_id,… Mặc định, các session sẽ tồn tại cho đến khi user đóng trình duyệt.

Trong PHP, các session được tạo và lưu trữ trong một folder tạm. Folder này được thiết lập trong file php.ini (mở file php.ini xem hướng dẫn ở phần Thay đổi default timezone trong PHP) với cấu hình session.save_path. Mặc định, session.save_path="C:\xampp\tmp".

2. Bắt đầu một session trong PHP

Trong PHP, chúng ta sử dụng hàm session_start() để bắt đầu một session. Tất cả những dữ liệu trong session được lưu trữ bởi biến mảng $_SESSION.



  
    Session in PHP
  

  
  
session1 page
session2 page

Trong ví dụ trên, chúng ta gọi hàm session_start() để bắt đầu một session. Sau đó, một số giá trị được lưu trong session bằng biến mảng $_SESSION. Và session1 pagesession2 page là các trang khác trong website.

Lưu ý: Hàm session_start() phải được gọi đầu tiên trong file php, trước thẻ .

3. Lấy các giá trị lưu trong session với PHP

session1 page, chúng ta sẽ lấy các giá trị được lưu trong session.



  
    Session1 page in PHP
  

  Domain name is " . $_SESSION["domainname"] . ".
"; echo "Number of post is " . $_SESSION["numberpost"] . ".
"; ?>

Chúng ta có thể xem tất cả giá trị được lưu trong session bằng các in ra biến mảng $_SESSION.



  
    Session2 page in PHP
  

  session id: ".session_id();
  ?>


Kết quả
Array ( 
[domainname] => gochocit.com 
[numberpost] => 410 
)
session id: 58j58aoogh7mktkmkohce6npns

Khi một user truy cập đến website và bắt đầu một session thì session đó sẽ được gán một session id. Sử dụng hàm session_id() để lấy session id của session hiện tại.

4. Thay đổi và xóa session trong PHP

Để thay đổi các giá trị lưu trong session, chúng ta chỉ cần gán lại lại giá trị cho các biến lưu trong session.



  
    Session2 page in PHP
  

  


Để xóa tất cả giá trị lưu trong session và hủy luôn session thì sử dụng hàm session_unset()session_destroy().



  
    Session2 page in PHP
  

  


Chúng ta vừa tìm hiểu cách sử dụng session trong PHP. Các bạn cần nắm vững các kiến thức này vì chúng sẽ được sử dụng rất nhiều trong lập trình web.

  • Cấu trúc điều khiển vòng lặp while trong Python
  • Các loại ngoại lệ (exceptions) trong Java
  • Lập trình điều khiển Servo motor với board mạch Arduino
  • Sửa (update) dữ liệu và câu lệnh drop trong MySQL với PHP
  • Lập trình là gì? Phân loại ngôn ngữ lập trình