🎯 Mục tiêu bài học
- Hiểu sự khác biệt giữa Session và Cookie.
- Biết cách tạo, sử dụng và xóa Session và Cookie trong PHP.
- Ứng dụng Session để lưu thông tin người dùng đăng nhập.
- Ứng dụng Cookie để lưu dữ liệu dài hạn phía trình duyệt.
🎥 Video minh họa bài học: Session & Cookie trong PHP
🧠 1. Session là gì?
- Session dùng để lưu trữ thông tin trên server cho người dùng trong quá trình truy cập.
- Kết thúc khi đóng trình duyệt hoặc hết thời gian phiên.
🔹 Khởi tạo và sử dụng Session
<?php // Bắt đầu session session_start(); // Gán giá trị $_SESSION["ten"] = "Lê Văn Tý"; $_SESSION["tuoi"] = 20; // Lấy giá trị echo "Tên: " . $_SESSION["ten"]; ?>
🔸 Xóa session
<?php session_start(); session_unset(); // Xóa tất cả session session_destroy(); // Hủy session ?>
🍭 2. Cookie là gì?
- Cookie là dữ liệu nhỏ được lưu trên trình duyệt của người dùng.
- Dùng để lưu thông tin qua nhiều phiên truy cập (nhiều ngày, nhiều tuần…).
🔹 Tạo Cookie
<?php // Tên, giá trị, thời gian sống (giây) setcookie("nguoiDung", "Tý", time() + 3600); // 1 giờ ?>
🔸 Đọc Cookie
<?php if (isset($_COOKIE["nguoiDung"])) { echo "Xin chào " . $_COOKIE["nguoiDung"]; } else { echo "Cookie chưa được thiết lập!"; } ?>
🔸 Xóa Cookie
<?php setcookie("nguoiDung", "", time() - 3600); // Đặt lại thời gian sống trong quá khứ ?>
🔍 3. So sánh Session và Cookie
Đặc điểm | Session | Cookie |
---|---|---|
Lưu trữ | Trên server | Trên trình duyệt |
Dung lượng | Lớn hơn | Nhỏ (~4KB) |
Bảo mật | Tốt hơn | Kém hơn |
Dễ bị xóa | Không (tự động) | Có (trình duyệt) |
Thời gian sống | Trong phiên | Có thể lưu nhiều ngày |
🧩 4. Ứng dụng thực tế
- Dùng Session để lưu đăng nhập:
- Lưu
user_id
,username
khi đăng nhập thành công. - Dùng Cookie để ghi nhớ đăng nhập (“Ghi nhớ tôi”).
📝 Bài tập tự luyện
Thiết lập Cookie lưu tên người dùng trong 3 ngày, hiển thị khi người dùng truy cập lại.
Tạo form đăng nhập, khi người dùng nhập đúng tài khoản thì lưu tên vào session và chuyển sang trang chào mừng.