session trong php

1. Session trong PHP – Khái niệm

Session trong PHP là gì?

Session trong PHP được dùng để lưu các biến mà có thể truy cập được ở nhiều trang dưới dạng tạm thời trong một phiên người dùng. Session chỉ lưu các biến trên server chứ không lưu trên máy tính cá nhân như cookie.

Một phiên người dùng là gì?

Một phiên người dùng là bao gồm điểm bắt đầu và điểm kết thúc hoạt động của người dùng trên trang web đó. Tức là các biến được lưu trong session nó sẽ chỉ tồn tại và hoạt động khi người dùng chưa đóng trình duyệt web. Nếu trình duyệt web bị đóng và sau đó mở lại đồng nghĩa với các biến trong session sẽ bị hủy và một session khác sẽ được khởi tạo.

Cách thức hoạt động của session trong php?

Trong một phiên người dùng, khi mở một trang, server sẽ tự động sinh ra một khóa (ví dụ: 765487cf34ert8dede5a562e4f3a7e12) khóa này thường được gọi là sessionID (Mỗi phiên người dùng có khóa khác nhau), khóa sẽ được lưu trên máy tính người dùng. Sau đó, khi khai báo sử dụng session trong một trang khác, nó sẽ so sánh khóa của trang đó với khóa trên máy tính người dùng. Nếu giống nhau, nó sẽ cho phép truy cập session, nếu không thì nó sẽ khởi tạo một session mới (tạo một sessionID mới). Giống như nếu có 2 máy tính truy cập vào cùng một trang thì sẽ có 2 session khác nhau, lưu trữ thông tin khác nhau.

Ứng dụng của session trong php

Ví dụ bạn đăng kí một tài khoản trên web nào đó gồm ba bước là 1, 2 và 3. Nếu bạn hoàn tất 3 bước thì gọi là một phiên, nhưng nếu đến bước 2 bạn đóng trình duyệt web lại, sau đó một người khác ngồi vào máy tính của bạn truy cập đến trang đăng ký đó thì nó sẽ bắt đầu lại từ bước 1. Do khi bạn đóng trình duyệt web lại thì các biến session lưu thông tin ở bước 1 đã bị hủy.

Tương tự session cũng thường được áp dụng trong việc tạo giỏ hàng ở các website bán hàng, nó sẽ lưu thông tin như tên, số lượng mặt hàng cho riêng từng phiên người dùng.

Và vô số những ứng dụng tùy biến khác dựa trên cách session hoạt động. Nào bây giờ tìm hiểu cách sử dụng session trong PHP nhé!

2. Tạo session

Để tương tác với một session thì trước tiên chúng ta phải khai báo nó bằng hàm session_start() . Sau đó sử dụng biến toàn cục $_SESSION["name"] để lưu các biến mà bạn muốn. Trong đó tham số name là tên của biến.

Ví dụ tạo một trang với tên “demo-session-1.php”. Trong trang này chúng ta khai báo session và thiết lập một vài biến cho nó

Chạy ví dụ »

Lưu ý: Hàm session_start() phải được đặt ở đầu trang, trước tất các thẻ <html>

3. Lấy session

Tiếp theo, tạo một trang khác với tên “demo-session-2.php”, Ở trang này chúng ta sẽ lấy thông tin của biến $_SESSION mà chúng ta đã tạo ở trang trước (“demo-session-1.php”).

Chú ý rằng để lấy được giá trị của biến session, chúng ta phải khai báo sử dụng session trước bằng hàm session_start() nhé!

Và mình cũng nhắc lại là tất cả các biến session được lưu trong biến toàn cục $_SESSION nhé!

Ví dụ

Chạy ví dụ »

4. Sửa session

Để sửa một biến session chúng ta chỉ việc ghi đè lên nó

Chạy ví dụ »

5. Hủy session

Để xóa tất cả biến toàn cục session và hủy session, sử dụng hàm session_unset()session_destroy()

Chạy ví dụ »

Lưu ý: khi hủy session bằng hàm session_destroy(), nếu muốn sử dụng lại session thì phải khai báo lại bên dưới hàm session_destroy() nhé!

6. Lời kết

Định nghĩa về session hơi phức tạp, mình cũng đã giải thích theo cách dễ hiểu nhất =]] , các bạn nếu không hiểu chổ nào hay có thắc mắc gì thì comment bên dưới nhé!. Nếu hiểu rồi thì xem bài tiếp theo nha 🙂 Lộ trình học PHP căn bản / nâng cao

 

Nguồn: phpcanban.com

 

 

Session trong PHP – Chương 7
5 (100%) 1 vote

Chia sẻ
Bài trướcCookie trong PHP – Nâng cao – Chương 6
Bài tiếp theoHàm filter trong PHP – Chương 8
Mình là Nguyễn Công! Mình bắt đầu kiếm tiền Online từ năm 2017 và nhờ đó mà có thu nhập rất ổn định. Mình chia sẽ những dự án kiếm tiền Online tốt nhất đã được khảo sát và chắt lọc cho các bạn. Hy vọng thông qua những bài viết phân tích đánh giá ICO các bạn sẽ đưa ra quyết định đầu tư thành công!. Chúc các bạn một ngày nhiều niềm vui! Group Facebook: https://goo.gl/CXVpWU Group Telegram: https://goo.gl/7w3c4t

BÌNH LUẬN

Please enter your comment!
Please enter your name here