NTM Solutions

Bài đăng nổi bật

🐘 PHP Cơ Bản 8.2 — CẤP ĐỘ TRỨNG🥚

Tự học PHP từ ZERO đến làm web động #laptrinhphpcoban 📘 PHẦN 1 — NHẬP MÔN PHP Bài 00 — Giới thiệu khóa học & cài đặt môi trường PHP là ...

Thứ Bảy, 20 tháng 6, 2026

📘Bài 20 — Session🔐 & Cookie🍪

Sau bài trước về Upload File, chúng ta sẽ học hai công cụ cực kỳ quan trọng trong lập trình web:

✅ Session
✅ Cookie

Đây là nền tảng để xây dựng:

  • Đăng nhập thành viên

  • Giỏ hàng

  • Ghi nhớ tùy chọn người dùng

  • Theo dõi trạng thái truy cập


🎯 Session là gì?

HTTP là giao thức không nhớ trạng thái.

Ví dụ:

Lần 1:

Trình duyệt gửi yêu cầu

Server phản hồi.

Lần 2:

Trình duyệt gửi yêu cầu mới

Server không biết đó có phải người dùng trước hay không.

Session giúp server ghi nhớ người dùng.


🎯 Khởi tạo Session

Muốn sử dụng Session phải gọi:

session_start();

Ví dụ:

<?php

session_start();

echo "Session đã được khởi tạo";

⚠️ Luôn đặt trước mọi HTML.

Sai:

<h1>Xin chào</h1>

<?php
session_start();

Có thể gây lỗi:

Headers already sent

🎯 Lưu dữ liệu vào Session

Ví dụ:

<?php

session_start();

$_SESSION["username"] = "nguyenvana";

echo "Đã lưu session";

🎯 Đọc dữ liệu Session

<?php

session_start();

echo $_SESSION["username"];

Kết quả:

nguyenvana

🎯 Kiểm tra Session tồn tại

<?php

session_start();

if (isset($_SESSION["username"])) {
    echo "Đã đăng nhập";
} else {
    echo "Chưa đăng nhập";
}

🎯 Xóa một Session

<?php

session_start();

unset($_SESSION["username"]);

🎯 Xóa toàn bộ Session

<?php

session_start();

session_destroy();

Sau đó người dùng phải đăng nhập lại.


🎯 Ví dụ mô phỏng đăng nhập

login.php

<?php

session_start();

$_SESSION["username"] = "hocvienphp";

echo "Đăng nhập thành công";

profile.php

<?php

session_start();

if (isset($_SESSION["username"])) {

    echo "Xin chào ";
    echo $_SESSION["username"];

} else {

    echo "Bạn chưa đăng nhập";

}

logout.php

<?php

session_start();

session_destroy();

echo "Đã đăng xuất";

🍪 Cookie là gì?

Cookie là dữ liệu lưu trên máy người dùng.

Khác với Session:

SessionCookie
Lưu trên ServerLưu trên trình duyệt
Bảo mật hơnKém bảo mật hơn
Hết khi Session kết thúcCó thể tồn tại nhiều ngày

🎯 Tạo Cookie

Cú pháp:

setcookie(
    "ten_cookie",
    "gia_tri",
    time() + 3600
);

3600 giây = 1 giờ.

Ví dụ:

<?php

setcookie(
    "theme",
    "dark",
    time() + 3600
);

echo "Đã tạo cookie";

🎯 Đọc Cookie

<?php

echo $_COOKIE["theme"];

Kết quả:

dark

Nên kiểm tra trước:

<?php

if (isset($_COOKIE["theme"])) {
    echo $_COOKIE["theme"];
}

🎯 Xóa Cookie

<?php

setcookie(
    "theme",
    "",
    time() - 3600
);

Cookie sẽ bị trình duyệt xóa.


🎯 Ví dụ ghi nhớ giao diện

Lưu lựa chọn nền tối:

<?php

setcookie(
    "theme",
    "dark",
    time() + 86400 * 30
);

30 ngày.

Khi truy cập lại:

<?php

if (
    isset($_COOKIE["theme"])
    && $_COOKIE["theme"] === "dark"
) {
    echo "Đang dùng giao diện tối";
}

⚠️ Session hay Cookie?

Dùng Session khi:

✅ Đăng nhập

✅ Quyền người dùng

✅ Dữ liệu nhạy cảm

Ví dụ:

user_id
role
token

Dùng Cookie khi:

✅ Ghi nhớ giao diện

✅ Ngôn ngữ

✅ Tùy chọn hiển thị

Ví dụ:

theme
language
font_size

🚫 Không nên lưu

Mật khẩu
Số thẻ ngân hàng
Thông tin bí mật

vào Cookie.


🎯 Bài tập thực hành

Bài 1

Tạo Session:

$_SESSION["fullname"] = "Hoc Vien PHP";

và hiển thị lại.


Bài 2

Kiểm tra:

isset($_SESSION["fullname"])

Bài 3

Tạo Cookie:

language = vi

thời hạn 1 ngày.


Bài 4

Hiển thị giá trị Cookie nếu tồn tại.


Bài 5

Tạo mini hệ thống:

login.php
profile.php
logout.php

bằng Session.


🏆 Tổng kết

Sau bài này bạn đã biết:

✅ session_start()

✅ $_SESSION

✅ unset()

✅ session_destroy()

✅ setcookie()

✅ $_COOKIE

✅ Xóa Cookie

✅ Ứng dụng Session để đăng nhập

Ở bài tiếp theo chúng ta sẽ bắt đầu bước sang thế giới Database với MySQLphpMyAdmin.

x0

quay về MỤC LỤC

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS