Session trong PHP

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 27 tháng 2, 2025

Session là một cơ chế quan trọng trong PHP giúp lưu trữ thông tin người dùng trên server trong một khoảng thời gian nhất định. Bài học này sẽ giúp bạn hiểu cách sử dụng session để quản lý trạng thái đăng nhập, giỏ hàng và các thông tin tạm thời khác.

1. Session trong PHP

1.1 Session là gì? Khi nào nên sử dụng?

  • Session là một phương pháp lưu trữ dữ liệu người dùng trên server thay vì lưu trên trình duyệt.
  • Khác với cookie, session không được lưu trên máy client nên bảo mật hơn.
  • Thích hợp sử dụng trong:
    • Quản lý đăng nhập người dùng.
    • Giỏ hàng trong thương mại điện tử.
    • Lưu trữ dữ liệu tạm thời giữa các trang.

1.2 Cách khởi tạo, lưu trữ và hủy session

Bước 1: Khởi động session

Trước khi sử dụng session, bạn cần gọi session_start() ở đầu file PHP.

session_start();

Bước 2: Lưu dữ liệu vào session

$_SESSION["username"] = "NguyenVanA";
$_SESSION["role"] = "admin";
echo "Session đã được thiết lập!";

Bước 3: Truy xuất dữ liệu từ session

session_start();
if(isset($_SESSION["username"])) {
    echo "Xin chào, " . $_SESSION["username"];
} else {
    echo "Bạn chưa đăng nhập.";
}

Bước 4: Hủy session

  • Xóa một biến session:
unset($_SESSION["username"]);
  • Hủy toàn bộ session:
session_destroy();

1.3 Ứng dụng session trong quản lý đăng nhập

Đăng nhập và lưu thông tin user vào session

session_start();
$username = "admin";
$password = "123456";
if($_POST["username"] == $username && $_POST["password"] == $password) {
    $_SESSION["loggedin"] = true;
    $_SESSION["username"] = $username;
    header("Location: welcome.php");
} else {
    echo "Sai tên đăng nhập hoặc mật khẩu!";
}

Kiểm tra trạng thái đăng nhập

session_start();
if(!isset($_SESSION["loggedin"])) {
    echo "Bạn chưa đăng nhập!";
} else {
    echo "Chào mừng, " . $_SESSION["username"];
}

Đăng xuất và hủy session

session_start();
session_destroy();
echo "Bạn đã đăng xuất.";

2. Kết luận

  • Session là gì và khi nào nên sử dụng.
  • Cách tạo, truy xuất và hủy session trong PHP.
  • Ứng dụng session trong quản lý đăng nhập.
Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ