Session trong PHP là một cơ chế chạy bằng ngôn ngữ PHP cho phép lưu trữ thông tin tạm thời và duy trì trạng thái của người dùng trên các website. Thông qua session, các biến và dữ liệu có thể được lưu trữ và tiếp tục sử dụng trong suốt phiên làm việc của người dùng, cho phép tương tác linh hoạt và liên tục giữa các trang. Điều này cho phép ứng dụng web nhớ thông tin về người dùng (như đăng nhập, giỏ hàng mua sắm, ngôn ngữ được chọn,…) trong suốt thời gian người dùng duyệt. Hãy cùng Vietnix tham khảo thêm về chủ đề Session trong PHP qua bài viết sau đây.
Session trong PHP là gì?
Nói đơn giản, Session (phiên làm việc) giống như một cuộc trò chuyện giữa hai bên. Trong lập trình web PHP, phiên làm việc được dùng để lưu trữ dữ liệu trên máy chủ thay vì trên máy tính của người dùng.
Để phân biệt từng người dùng trong phiên làm việc, mỗi người sẽ được cấp một mã số riêng, gọi là mã định danh phiên (SID). Mã này giống như một tấm thẻ tên, giúp liên kết người dùng với những thông tin của họ trên máy chủ, ví dụ như bài viết, email,…
Mọi người cũng xem:
So sánh với cookie
Cookie cũng sử dụng để lưu trữ dữ liệu liên quan đến người dùng, nhưng chúng lại có nhiều vấn đề về bảo mật. Lí do là cookie được lưu trên máy tính người dùng và chúng dễ dàng bị kẻ xấu xâm phạm và sửa đổi nội dung của cookie.
Việc dễ bị tấn công, thêm dữ liệu độc hại vào cookie có thể làm hỏng ứng dụng. Ngoài ra, cookie còn ảnh hưởng đến hiệu suấ website vì cookie gửi dữ liệu người dùng mỗi khi người dùng truy cập một website .
Mỗi khi trình duyệt yêu cầu một URL đến server, tất cả dữ liệu cookie cho website đó sẽ tự động được gửi đến server theo yêu cầu.
Các thao tác với PHP session
- Khởi tạo PHP session:
Sau khi session được bắt đầu, các biến này cũng được tạo để chứa thông tin. Hàm session_start()
được dùng để mở session mới, cũng như tạo SID cho người dùng.
Ví dụ:
<?php
session_start();
?>
- Lưu trữ dữ liệu session:
Dữ liệu session trong cặp key-value dùng mảng superglobal $_SESSION[]
. Các dữ liệu này được truy cập trong suốt thời gian hoạt động của session. Trong ví dụ sau đoạn code sẽ chứa session với hai biến của nó là Rollnumber và Name
<?php
session_start();
$_SESSION["Rollnumber"] = "11";
$_SESSION["Name"] = "Ajay";
?>
- Truy cập dữ liệu session:
Các dữ liệu này có thể dễ dàng truy cập trược tiên bằng hàm sesion_start()
và sau đó truyền key tương ứng cho mảng $_SESSION.
Ví dụ:
<?php
session_start();
echo 'The Name of the student is :' . $_SESSION["Name"] . '<br>';
echo 'The Roll number of the student is :' . $_SESSION["Rollnumber"] . '<br>';
?>
- Hủy dữ liệu của một sesion:
Để có thể thực hiện thao tác trên, bạn có thể dùng tính năng únet với biến tương ứng trong mảng $_SESSION.
<?php
session_start();
if(isset($_SESSION["Name"])){
unset($_SESSION["Rollnumber"]);
}
?>
- Hủy hoàn toàn session:
Bạn sẽ dùng hàm session_destroy()
để thực hiện thao tác trên. Hàm này không yêu cầu bất cứ đối số nào đi kèm.
<?php
session_start();
session_destroy();
?>
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về Session trong PHP và các ví dụ sử dụng Session. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!