Làm việc với Cookie và Session

jk5587725

By jk5587725

Cập nhật Tháng 9 23, 2025

Khi một người dùng truy cập vào website, làm sao để trang web nhớ họ là ai trong những lần tiếp theo? Làm sao để lưu thông tin đăng nhập, giỏ hàng, hay sở thích cá nhân của họ? Đây chính là lúc CookieSession bước vào sân khấu.

Cookie – Gửi một chiếc “note” nhỏ đến trình duyệt

Cookie là những mẩu dữ liệu nhỏ mà máy chủ gửi về trình duyệt người dùng, được lưu trữ ở phía client. Mỗi lần người dùng truy cập lại trang web, trình duyệt sẽ gửi cookie đó kèm theo, cho phép trang web “nhận diện” họ.

Trong PHP, bạn có thể thiết lập cookie như sau:

setcookie("username", "johnny", time() + 3600); // tồn tại trong 1 giờ

Và đọc lại:

echo $_COOKIE["username"];

Cookie rất hữu ích, nhưng vì được lưu ở phía người dùng nên dễ bị chỉnh sửa hoặc mất khi họ xóa dữ liệu trình duyệt. Hãy dùng cookie cho những thông tin không quá quan trọng hoặc có thể kiểm tra lại từ phía máy chủ.

Session – Tạm giữ thông tin ở máy chủ

Session thì ngược lại. Nó lưu trữ dữ liệu trên máy chủ và gắn liền với người dùng thông qua một ID duy nhất. Khi trình duyệt gửi ID này trong mỗi request, PHP sẽ “ghép nối” dữ liệu đó lại.

Để sử dụng session, ta cần gọi:

session_start(); // luôn luôn khai báo ở đầu mỗi file PHP dùng session
$_SESSION['username'] = 'johnny';

Và để lấy lại:

echo $_SESSION['username'];

Session thường được dùng để lưu thông tin đăng nhập, trạng thái người dùng, giỏ hàng…

So sánh nhanh giữa Cookie và Session

Tiêu chíCookieSession
Lưu trữTrình duyệt (client)Máy chủ (server)
Dung lượng~4KBTùy máy chủ, lớn hơn nhiều
Bảo mậtThấp hơn (dễ chỉnh sửa)Cao hơn
Tồn tạiTheo thời gian bạn đặtKết thúc khi đóng trình duyệt (hoặc hết timeout)

Khi nào dùng cái nào?

  • Cookie phù hợp khi bạn cần ghi nhớ thông tin nhỏ, không quan trọng, chẳng hạn như: giao diện người dùng, ngôn ngữ, thói quen…
  • Session nên được dùng khi dữ liệu mang tính bảo mật hoặc thay đổi thường xuyên: thông tin đăng nhập, giỏ hàng, quyền truy cập…

Một vài lưu ý quan trọng

  • Luôn gọi session_start() trước khi dùng $_SESSION và trước bất kỳ dòng HTML nào.
  • Cookie phải được gửi trước khi có bất kỳ nội dung nào được in ra trình duyệt.
  • Nên đặt thời gian sống hợp lý cho cookie và hủy cookie khi không còn cần thiết.

Kết luận

Cookie và Session là hai công cụ cực kỳ quan trọng trong việc xây dựng các website động có khả năng “ghi nhớ” người dùng. Hiểu và sử dụng đúng sẽ giúp bạn kiểm soát trạng thái người dùng một cách hiệu quả, và mở rộng ra các chức năng như đăng nhập, mua hàng, tùy chỉnh trải nghiệm cá nhân…


👉 Trong bài tiếp theo, bạn sẽ cùng khám phá cách tạo form đăng nhập sử dụng session đơn giản, từ đó hiểu rõ hơn cách lưu và kiểm tra thông tin người dùng qua session trong thực tế.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

[global_subscribe_form]

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.