Workflow chức năng Đăng xuất

  • Khi đăng nhập (login) thành công thì chúng ta đã lưu trữ tên người dùng đăng nhập vào `$_SESSION['kh_tendangnhap_logged']`
  • Vậy khi Đăng xuất, chúng ta đơn giản chỉ cần xóa bỏ key kh_tendangnhap_logged ra khỏi SESSION là được.

Step 1: tạo file Đăng xuất

  • Tạo file /backend/auth/logout.php
  • Nội dung file:
<?php
// hàm `session_id()` sẽ trả về giá trị SESSION_ID (tên file session do Web Server tự động tạo)
// - Nếu trả về Rỗng hoặc NULL => chưa có file Session tồn tại
if (session_id() === '') {
    // Yêu cầu Web Server tạo file Session để lưu trữ giá trị tương ứng với CLIENT (Web Browser đang gởi Request)
    session_start();
}

// Chức năng Đăng xuất đơn giản là xóa giá trị của người dùng đã đăng nhập trong SESSION
// Và điều hướng người dùng về trang chúng ta mong muốn
// Nếu trong SESSION có giá trị của key 'kh_tendangnhap_logged' <-> người dùng đã đăng nhập thành công
// => xóa bỏ giá trị trong SESSION và Điều hướng người dùng về trang DASHBOARD
if(isset($_SESSION['kh_tendangnhap_logged'])) {
    unset($_SESSION['kh_tendangnhap_logged']);
    header('location:login.php');
}
else {
    echo 'Người dùng chưa đăng nhập. Không thể đăng xuất dược!'; die;
}