PHP Session | Cách sử dụng Session trong PHP

PHP Session là một kỹ thuật được sử dụng rộng rãi trong các trang web thương mại điện tử, nó giúp lưu trữ và chuyển tải thông tin từ một trang sang trang khác tạm thời (cho đến khi người dùng đóng trang web). Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về PHP Session là gì và cách sử dụng nó.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn PHP từ cơ bản đến nâng cao tại dự án Phát Triển Website.

Tổng Quan Về PHP Session

Session là một phiên làm việc giữa người dùng và máy chủ, nó giúp lưu trữ thông tin tạm thời để sử dụng cho các yêu cầu sau đó. Mỗi phiên làm việc có một ID session riêng biệt được tạo ra để phân biệt các phiên làm việc khác nhau trên cùng một máy chủ.

Khi một người dùng truy cập vào trang web của bạn, máy chủ tạo ra một ID session mới và gắn liền với trình duyệt của người dùng. Sau đó, nếu người dùng di chuyển đến một trang khác trên cùng một trang web, ID session này sẽ được sử dụng để lấy thông tin đã lưu trữ trước đó.

Hướng Dẫn Sử Dụng PHP Session

PHP Session là một cơ chế được sử dụng để lưu trữ thông tin tạm thời trong suốt phiên làm việc giữa người dùng và máy chủ. Khi một phiên làm việc mới được bắt đầu, một ID session mới sẽ được tạo ra để định danh cho phiên làm việc này.

PHP Session được sử dụng rộng rãi trong các trang web thương mại điện tử, nơi mà chúng ta cần lưu trữ và truyền thông tin về giỏ hàng giữa các trang khác nhau của trang web.

PHP session_start() Function

Để bắt đầu một phiên làm việc mới với PHP Session, chúng ta cần sử dụng hàm session_start(). Nếu một phiên làm việc đã tồn tại, hàm này sẽ tiếp tục phiên làm việc đó. Nếu không, nó sẽ tạo ra một phiên làm việc mới.

PHP $_SESSION

$_SESSION là một mảng liên kết trong PHP, chứa tất cả các biến phiên làm việc. Chúng ta có thể sử dụng mảng này để lưu trữ và truy xuất các giá trị trong suốt phiên làm việc. Dưới đây là ví dụ về cách lưu trữ thông tin vào mảng $_SESSION:

// Lưu trữ giá trị vào mảng $_SESSION
$_SESSION['username'] = 'John';
$_SESSION['age'] = 30;

Để truy xuất các giá trị trong mảng $_SESSION, chúng ta có thể sử dụng cú pháp như sau:

// Truy xuất giá trị từ mảng $_SESSION
$username = $_SESSION['username'];
$age = $_SESSION['age'];

Cách triển khai PHP Session

Để triển khai PHP Session, bạn cần thực hiện các bước sau:

  1. Bắt đầu một session bằng cách gọi hàm session_start(). Hàm này sẽ tạo ra một session mới nếu chưa có hoặc phục hồi một session đã tồn tại.
session_start();
  1. Tạo hoặc truy cập một biến session. Biến session là một biến toàn cục được lưu trữ trong bộ nhớ PHP. Bạn có thể tạo một biến session mới bằng cách sử dụng cú pháp $_SESSION['tên_biến'] = giá_trị; hoặc truy cập một biến session đã tồn tại bằng cách sử dụng cú pháp $tên_biến = $_SESSION['tên_biến'];.
$_SESSION['tên_biến'] = 'giá_trị';

$tên_biến = $_SESSION['tên_biến'];
  1. Kết thúc một session bằng cách gọi hàm session_write_close(). Hàm này sẽ lưu trữ dữ liệu session vào tệp hệ thống.
session_write_close();

Ví dụ

// Bắt đầu một session
session_start();

// Tạo một biến session
$_SESSION['tên_người_dùng'] = 'John Doe';

// Truy cập một biến session
$tên_người_dùng = $_SESSION['tên_người_dùng'];

// Kết thúc một session
session_write_close();

Các tùy chọn PHP Session

PHP cung cấp một số tùy chọn để tùy chỉnh cách hoạt động của session. Bạn có thể đặt các tùy chọn này bằng cách gọi hàm ini_set().

  • session.name: Tên của cookie lưu trữ session ID. Giá trị mặc định là PHPSESSID.
  • session.save_path: Đường dẫn đến thư mục lưu trữ dữ liệu session. Giá trị mặc định là thư mục /tmp.
  • session.gc_maxlifetime: Thời gian tồn tại của session (tính bằng giây). Giá trị mặc định là 240 (30 phút).
  • session.cookie_lifetime: Thời gian tồn tại của cookie (tính bằng giây). Giá trị mặc định là 0 (cookie sẽ bị xóa khi trình duyệt đóng).

Lưu ý

  • PHP Session không an toàn. Thông tin session có thể bị truy cập bởi bất kỳ ai có quyền truy cập vào máy chủ web.
  • Bạn nên sử dụng mã hóa để bảo vệ thông tin session.

Một số ứng dụng của PHP Session

  • Lưu trữ thông tin người dùng như tên, địa chỉ email, …
  • Lưu trữ trạng thái của một trang web như ngôn ngữ, khu vực, …
  • Lưu trữ thông tin giỏ hàng khi mua sắm trực tuyến.

Tổng Kết

Trong bài viết này, chúng ta đã tìm hiểu về PHP Session và cách sử dụng nó để lưu trữ và truyền thông tin tạm thời trong suốt phiên làm việc giữa người dùng và máy chủ. Chúng ta đã khám phá cách sử dụng hàm session_start() để bắt đầu một phiên làm việc mới, cũng như sử dụng mảng $_SESSION để lưu trữ và truy xuất các giá trị của phiên làm việc.

Ngoài ra, chúng ta cũng đã thấy ví dụ về cách sử dụng PHP Session để lưu trữ thông tin giỏ hàng và tạo bộ đếm phiên. Cuối cùng, chúng ta đã khám phá cách sử dụng hàm session_destroy() để xóa toàn bộ thông tin phiên làm việc.

PHP Session là một công cụ quan trọng để quản lý thông tin phiên làm việc và cung cấp trải nghiệm tốt hơn cho người dùng trên các trang web đa trang. Điều này giúp tích hợp các tính năng như giỏ hàng, bộ đếm và các chức năng tương tự dễ dàng và hiệu quả.