Session php là một công cụ rất mạnh mẽ giúp kết nối các phiên làm việc của người dùng phục vụ cho chức năng đăng nhập hệ thống, giỏ hàng…

Phiên làm việc là gì?

Phiên là một chu trình người dùng gửi yêu cầu lên server và được server hồi đáp. Sau khi server hồi đáp trả lại trang nó sẽ đóng kết nối. Vậy nên những phiên làm việc sau đó web server không thể kết nối các phiên làm việc với nhau để phục vụ công việc nào đó.

Ví dụ bên dưới chúng ta tiến hành kiểm tra $a,

  • Nếu $id chưa tồn tại sẽ gán giá trị cho nó là 1 và in nó lên màn hình.
  • Ngược lại, sẽ xuất lên màn hình $a++ (tăng giá trị của $a lên 1 đơn vị và xuất lên màn hình).
<?php
if(!isset($a)){
    $a= 1;
    echo $a;
}else{
    echo $a++;
}
?>

Sau khi chạy đoạn code trên nhiều lần thì kết quả vẫn chỉ xuất lên màn hình giá trị 1.

Điều này minh chứng một điều rằng theo mặc định thông thường các dữ liệu trên các phiên làm việc không kết nối với nhau.

Session là gì?

  • Session dùng theo dõi và kết nối giữa các phiên làm việc của người dùng
  • Thông tin của session được lưu trữ trong mảng hệ thống $_SESSION
  • Session dùng để tạo các ứng dụng giỏ hàng, đăng nhập

Cách sử dụng Session

#1. Chuẩn bị

Để sử dụng session bạn cần thêm những hàm bên dưới giúp session khởi động để bắt đầu sử dụng.

<?php
ob_start();
sesstion_start();
?>

#2. Lưu thông tin vào session

$_SESSION nó là một mảng toàn cục nên việc lưu thông tin thao tác như mảng thông thường.

$_SESSION[name] = value;

Ví dụ: Lưu id người dùng đã login vào session

Khi người dùng login vào hệ thống chúng ta muốn lưu lại id để phục vụ cho quá trình xử lý chương trình trong phiên làm việc của user bất kỳ. Để làm điều này bạn có thể lưu trữ đơn giản như bên dưới với giá trị id = 10

$_SESSION['id_login'] = 10;

#3. Cách lấy giá trị đã lưu trong Session

Sau khi lưu dữ liệu vào session tất nhiên chúng ta cần sử dụng nó phục vụ cho một công việc nào đó trong chương trình. Ví dụ như hiển thị tên người dùng đã đăng nhập, hiển thị danh sách sản phẩm đã mua trong giỏ hàng…

$_SESSION bản chất nó là mảng nên cách truy suất lấy thông tin bạn thực hiện theo cách thông thường.

<?php
ob_start();
session_start();


$_SESSION['id_login'] = 10;
echo $_SESSION['id_login'];

Kết quả

10

#4. Cách hủy Session

Để hủy Session chúng ta có thể dùng một trong 2 hàm sau

  • unset(): Hủy một phần của Session
  • session_destroy(): Hủy toàn bộ sesion trong hệ thống

Ví dụ: Hủy sesion của id login

unset($_SESSION['id_login']);

Tổng kết

Qua bài này bạn cần nhớ Session dùng để lưu dữ liệu trên nhiều phiên làm việc lại với nhau. Dữ liệu được lưu trữ trong biến toàn cục $_SESSION nó cũng là kiểu dữ liệu mảng nên cách thao tác như mảng thông thường.

Đây là một nội dung rất quan trọng trong quá trình xây dựng website có chức năng đăng nhập thành viên hoặc hệ thống web có giỏ hàng, giúp khách hàng có thể đặt hàng trực tiếp trên hệ thống.

Việc của bạn ngay bây giờ cần ghi chép lại những nội dung quan trọng và thực hành lại từng bước những thao tác trên Session để đảm bảo nắm chắc bài học.

Xin chào, sớm hẹn gặp lại!