Session trong PHP
Session là một phiên làm việc, bắt đầu từ lúc bạn truy cập vào website cho đến lúc bạn tắt trình duyệt hoặc không truy cập website đó nữa. Không giống như cookie, session không được lưu trữ trên máy tính của người dùng. Cùng eLib tìm hiểu rõ hơn về session qua bài viết dưới đây.
Mục lục nội dung
1. Session trong PHP là gì?
Khi bạn làm việc với một ứng dụng, bạn mở nó, thực hiện một số thay đổi, và sau đó bạn đóng nó lại. Điều này giống như một phiên (session). Máy tính biết bạn là ai. Nó biết khi bạn bắt đầu ứng dụng và khi bạn kết thúc. Nhưng trên internet có một vấn đề: máy chủ web không biết bạn là ai hoặc bạn làm gì, vì địa chỉ HTTP không duy trì trạng thái.
Các biến session giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng được sử dụng trên nhiều trang (ví dụ: tên người dùng, sở thích, v.v.). Theo mặc định, các biến session tồn tại cho đến khi người dùng đóng trình duyệt.
Vì thế; Biến phiên giữ thông tin về một người dùng duy nhất và có sẵn cho tất cả các trang trong một ứng dụng.
2. Bắt đầu một session trong PHP
Hàm session_start() được sử dụng để bắt đầu một session.
Biến session được đặt bằng biến toàn cục PHP: $_SESSION.
Bây giờ, hãy tạo một trang mới có tên là "session-trong-php-1.php". Trong trang này, chúng tôi bắt đầu một PHP session mới và thiết lập một số biến session:
File: "session-trong-php-1.php"
<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Tạo biến session
$_SESSION["user_id"] = "TT123456";
$_SESSION["username"] = "david123";
echo "Các biến session đã được tạo.";
?>
</body>
</html>
Kết quả:
Các biến session đã được tạo.
Chú ý: Hàm Cácsession_start() phải đặt TRƯỚC thẻ <html>.
3. Đọc giá trị biến session trong PHP
Tiếp theo, chúng ta tạo một trang khác gọi là "session-trong-php-2.php". Từ trang này, chúng ta sẽ truy cập thông tin session mà chúng ta đã tạo ra trên trang đầu tiên ("session-trong-php-1.php").
Lưu ý rằng các biến session không được chuyển riêng lẻ đến từng trang mới, thay vào đó chúng được truy cập từ session mà chúng ta khai báo ở đầu mỗi trang (session_start()) và các giá trị biến session được lưu trữ trong biến toàn cầu $_SESSION:
File: "session-trong-php-2.php"
<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// hiển thị các biến session được tạo ở ví dụ trước
echo "user_id là: " . $_SESSION["user_id"] . "<br>";
echo "username là: " . $_SESSION["username"];
?>
</body>
</html>
Kết quả:
user_id là: TT123456
username là: david123
Để in tất cả các biến session, sử dụng lệnh sau:
<?php
print_r($_SESSION);
?>
4. Thay đổi giá trị biến session trong PHP
Để thay đổi biến session, chỉ ghi đè lên biến đó:
File: "session-trong-php-3.php"
<?php
// bắt đầu session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// thay đổi biến session được tạo ở ví dụ trước
$_SESSION["username"] = "eLib.VN";
print_r($_SESSION);
?>
</body>
</html>
Array ( [user_id] => TT123456 [username] => eLib.VN )
5. Xóa biến session trong PHP
Để xóa tất cả các biến session toàn cầu hãy sử dụng session_unset() và session_destroy():
File: "session-trong-php-4.php"
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// xóa tất cả các biến session
session_unset();
session_destroy();
print_r($_SESSION);
?>
</body>
</html>
Kết quả:
Array ( )
Trên đây là bài viết của eLib.VN về Session trong PHP. Chúng tôi hy vọng qua bài này sẽ làm tiền đề cho các bạn đam mê giải thuật tìm tòi thêm. Chúc các bạn thành công!
Như vậy là chúng ta đã hoàn thành nội dung kiến thức về "PHP Management". Để củng cố và nắm vững nội dung đã học, mời bạn cùng thử sức với "Bộ Câu hỏi Trắc Nghiệm Online Ôn Tập Lập trình PHP có đáp án chi tiết"
Tham khảo thêm
- doc Cookie trong PHP