PHP
PHP

Trang chủ

Tổng quan về Session trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
19/06/2024
5 phút đọc
Theo dõi Vietnix trên

Tổng quan về Session trong PHP

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.

Session trong PHP
Tìm hiểu về session trong PHP

Để 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:

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 .

So sánh lợi thế của Session so với Cookie
So sánh lợi thế của Session so với Cookie

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ưu ý:

  • SID được PHP engine tạo ra ngẫu nhiên.
  • Dữ liệu session được chứa trong server do đó no không gửi cùng với request của trình duyệt.
  • Hàm session_start() cần gọi lên ở đầu trang, trước khi có bất kỳ output nào tạo ra từ script trong trình duyệt.

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!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn