SESSION PHP LÀ GÌ

  -  

Session trong PHP là một cách để lưu trữ thông tin (trong các biến) để sử dụng trên nhiều trang. Không giống như cookie, các thông tin này không được lưu trữ trên máy tính của người dùng. Cùng tìm hiểu về các session trong PHP và chức năng của nó trong bài viết dưới đây.

Bạn đang xem: Session php là gì


Khái niệm session trong PHP

Khi bạn làm việc với ứng dụng, bạn sẽ cần thực hiện các thay đổi và sau đó mới đóng lại ứng dụng. Đây sẽ gọi là một phiên hay session trong PHP. Session sẽ cho máy tính biết khi nào bạn bắt đầu ứng dụng và khi nào bạn kết thúc ứng dụng. Tuy vậy, khi hoạt động trên internet, máy chủ web sẽ 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.

*

Khái niệm session trong PHP

Session trong PHP sẽ giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng sử dụng trên nhiều trang (ví dụ: tên người dùng, màu yêu thích,...) Theo mặc định các biến của session kéo dài cho đến khi người dùng đóng trình duyệt.

Vì vậy, có thể kết luận các session trong PHP chứa thông tin về người dùng và có sẵn cho tất cả các trang trong ứng dụng.

Quy trình hoạt động của một session trong PHP

Khi một session trong PHP bắt đầu, những điều sau đây sẽ xảy ra:

Đầu tiên, php sẽ tạo một mã định danh duy nhất cho một phiên cụ thể, đó là một chuỗi ngẫu nhiên gồm 32 số thập lục phân như 3c7foj34c3jj973hjkop2fc937e3443.Cookie có tên là PHP SESSID sẽ được tự động gửi đến máy tính của người dùng để lưu trữ chuỗi nhận dạng phiên duy nhất.Tệp được tạo tự động trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của số nhận dạng duy nhất có tiền tố là sess_ ie sess_3c7foj34c3jj973hjkop2fc937e3443.

Xem thêm: 25 Tác Dụng "Tuyệt Vời" Mà Dưa Lưới Là Gì ? Dưa Lưới Có Mấy Loại, Giá Bao Nhiêu?

Khi một tập lệnh PHP muốn truy xuất giá trị từ một biến session, PHP sẽ tự động lấy chuỗi định danh session duy nhất từ cookie PHP SESSID và sau đó tìm tệp mang tên đó trong thư mục tạm thời của nó và việc xác thực có thể được thực hiện bằng cách so sánh cả hai giá trị.

Session sẽ kết thúc khi người dùng tắt trình duyệt hoặc rời khỏi trang, máy chủ sẽ kết thúc session sau một khoảng thời gian định trước, thường là sau 30’.

Bắt đầu một session trong PHP

Một session trong PHP có thể dễ dàng bắt đầu bằng cách gọi hàm session_start (), trước tiên hàm này kiểm tra xem một phiên đã được bắt đầu chưa và nếu chưa có phiên nào được bắt đầu thì nó sẽ bắt đầu một phiên. Bạn nên đặt lệnh gọi tới session_start () ở đầu trang.

Các biến phiên được lưu lữ trong các mảng liên kết được gọi là $_SESSION <>. Những biến này có thể được truy cập trong thời gian của một session.

Xem thêm: Tổng Quan Hibernate, Nhibernate Là Gì Cụm Từ Framework Nhibernate Là Gì

Ví dụ dưới đây bắt đầu một session, sau đó đăng ký một biến được gọi là bộ đếm (counter) được tăng lên mỗi khi trang được truy cập trong phiên.

Tận dụng hàm isset() để kiểm tra xem liệu biến session đã được set hay chưa. Đưa biến dưới đây vào file test.php và tải lại file nhiều lần cho tới khi nhận được kết quả như dưới đây: