Session
php là một công cụ rất mạnh mẽ giúp kết nối các phiên làm việc của người dùng phục vụ cho chức năng đăng nhập hệ thống, giỏ hàng…
Video hướng dẫn Session Php trong 40 phút miễn phí
Phiên làm việc là gì?
Phiên là một chu trình người dùng gửi yêu cầu lên server và được server hồi đáp. Sau khi server hồi đáp trả lại trang nó sẽ đóng kết nối. Vậy nên những phiên làm việc sau đó web server không thể kết nối các phiên làm việc với nhau để phục vụ công việc nào đó.
Ví dụ bên dưới chúng ta tiến hành kiểm tra $a
,
- Nếu
$id
chưa tồn tại sẽ gán giá trị cho nó là 1 và in nó lên màn hình. - Ngược lại, sẽ xuất lên màn hình
$a++
(tăng giá trị của$a
lên 1 đơn vị và xuất lên màn hình).
<?php if(!isset($a)){ $a= 1; echo $a; }else{ echo $a++; } ?>
Sau khi chạy đoạn code trên nhiều lần thì kết quả vẫn chỉ xuất lên màn hình giá trị 1
.
Điều này minh chứng một điều rằng theo mặc định thông thường các dữ liệu trên các phiên làm việc không kết nối với nhau.
Session là gì?
- Session dùng theo dõi và kết nối giữa các phiên làm việc của người dùng
- Thông tin của session được lưu trữ trong mảng hệ thống
$_SESSION
- Session dùng để tạo các ứng dụng giỏ hàng, đăng nhập
Cách sử dụng Session
#1. Chuẩn bị
Để sử dụng session bạn cần thêm những hàm bên dưới giúp session khởi động để bắt đầu sử dụng.
<?php ob_start(); sesstion_start(); ?>
#2. Lưu thông tin vào session
$_SESSION
nó là một mảng toàn cục nên việc lưu thông tin thao tác như mảng thông thường.
$_SESSION[name] = value;
Ví dụ: Lưu id người dùng đã login vào session
Khi người dùng login vào hệ thống chúng ta muốn lưu lại id để phục vụ cho quá trình xử lý chương trình trong phiên làm việc của user bất kỳ. Để làm điều này bạn có thể lưu trữ đơn giản như bên dưới với giá trị id = 10
$_SESSION['id_login'] = 10;
#3. Cách lấy giá trị đã lưu trong Session
Sau khi lưu dữ liệu vào session tất nhiên chúng ta cần sử dụng nó phục vụ cho một công việc nào đó trong chương trình. Ví dụ như hiển thị tên người dùng đã đăng nhập, hiển thị danh sách sản phẩm đã mua trong giỏ hàng…
$_SESSION
bản chất nó là mảng nên cách truy suất lấy thông tin bạn thực hiện theo cách thông thường.
<?php ob_start(); session_start(); $_SESSION['id_login'] = 10; echo $_SESSION['id_login'];
Kết quả
10
#4. Cách hủy Session
Để hủy Session chúng ta có thể dùng một trong 2 hàm sau
unset()
: Hủy một phần của Sessionsession_destroy()
: Hủy toàn bộ sesion trong hệ thống
Ví dụ: Hủy sesion của id login
unset($_SESSION['id_login']);
Tổng kết
Qua bài này bạn cần nhớ Session dùng để lưu dữ liệu trên nhiều phiên làm việc lại với nhau. Dữ liệu được lưu trữ trong biến toàn cục $_SESSION nó cũng là kiểu dữ liệu mảng nên cách thao tác như mảng thông thường.
Đây là một nội dung rất quan trọng trong quá trình xây dựng website có chức năng đăng nhập thành viên hoặc hệ thống web có giỏ hàng, giúp khách hàng có thể đặt hàng trực tiếp trên hệ thống.
Việc của bạn ngay bây giờ cần ghi chép lại những nội dung quan trọng và thực hành lại từng bước những thao tác trên Session để đảm bảo nắm chắc bài học.
Xin chào, sớm hẹn gặp lại!