So sánh session và cookie php năm 2024

Session và cookie dùng để lưu trữ dữ liệu tạm thời để hệ thống có thể nhận diện và đưa ra các hành động khác nhau.

-Biến Session trong PHP dùng để lưu trữ thông tin như thông tin người dùng, thông tin cấu hình,... Mà nó chỉ có thể tồn tại đến khi chúng ta đóng trình duyệt. Và mỗi client sẽ có một SessionID khác nhau nên hoàn toàn không có thể xảy ra việc xung đột session. Ứng dụng thực tế trong việc sử dụng session thường làm chức năng đăng nhập, giỏ hàng,...

Khởi tạo session

-Đầu tiên các bạn muốn khởi tạo được session trong PHP thì bắt buộc các bạn phải khai báo

$_SESSION['name'] = 'value';

4 ở đầu mỗi file. Hàm này có tác dụng khai báo cho server biết phiên làm việc có sử dụng session.

VD:

Lưu trữ session

-Cũng giống như GET và POST, session cũng được lưu trong một biến toàn cục

$_SESSION['name'] = 'value';

5, Vì vậy khi muốn thêm sửa xóa session chúng ta cũng phải thao tác trên biến này. Và các bạn phải luôn luôn nhớ là phải kiểm tra chặt dữ liệu trước khi thao tác.

Thêm,Sửa

-Để thêm hoặc session các bạn sử dụng cú pháp:

$_SESSION['name'] = 'value';

-Trong đó:

  • name là tên của session.
  • value là giá trị của session, giá trị này có thể là một chuỗi,mảng,số,...

VD: Thêm session.

VD: sửa session.

Lấy giá trị

-Để lấy giá trị của session thì chúng ta chỉ cần gọi theo cú pháp:

$_SESSION['name'];

Trong đó: name là tên của session các bạn muốn lấy.( Chú ý kiểm tra chặt chẽ xem session đó có tồn tại hay không trước khi lấy)

VD:

if (isset($_SESSION['user'])) {

echo $_SESSION['user'];  
}

Xóa session

-Để xóa session thì các bạn chỉ cần sử dụng hàm unset() theo cú pháp sau:

unset($bien);

Trong đó:

$_SESSION['name'] = 'value';

6 là thư mà các bạn muốn xóa.

VD: xóa session user ở VD trên:

unset($_SESSION['user']);

-Và để xóa tất cả session thì chúng ta sử dụng cú pháp sau:

session_destroy(); //hoac unset($_SESSION);

-Cookie thường được dùng để lưu những tùy chọn riêng của từng user,... Cookie được lưu trữ ở máy của client lên khi đóng trình duyệt thì cookie vẫn tồn tại và tồn tại bao lâu là do bạn set.

-Để khởi tạo cookie thì bạn sử dụng hàm

$_SESSION['name'] = 'value';

7 theo cú pháp sau:

setcookie($name, $value, $expire, $path, $domain);

Trong đó:

  • $name là tên của cookie các bạn muốn tạo.
  • $value là giá trị của cookie đó.
  • $expire là thời gian sống của cookie.
  • $path là đường dẫn lưu trữ cookie.
  • $domain là tên của domain.

VD: Mình sẽ khởi tạo một cookie có tên là user, giá trị là VuThanhTai và thời gian sống trong 10 phút.

$_SESSION['name'] = 'value';

0

-Cách lấy giá trị của cookie thì cũng không khác gì session các bạn chỉ cần sử dụng cú pháp:

$_SESSION['name'] = 'value';

1

Trong đó: $name là tên của cookie các bạn muốn lấy.

VD: Mình sẽ lấy giá trị của cookie user ở trên.

$_SESSION['name'] = 'value';

2

-Để xóa cookie thì các bạn chỉ cần xét cho thời gia sống của nó nhỏ hơn thời điểm hiện tại.

VD: mình sẽ xóa cookie user ở trên.

$_SESSION['name'] = 'value';

3

3, Lời kết.

-Bài này kết thúc ở đây thôi nhé, nếu bạn nào muốn tìm hiểu sâu hơn nữa có thể xem chi tiết tại trang chủ của PHP nhé.

Session và Cookie dùng để lưu trữ dữ liệu tạm thời và từ đó hệ thống có thể đưa ra những quyết định về quyền hạn hoặc là những tùy chọn riêng tư. Cả hai tuy có chung chức năng là lưu trữ dữ liệu nhưng bên trong nó lại khác nhau. Session dùng để lưu trữ dữ liệu trên Server và đồng thời nó sẽ có một đoạn code dữ liệu được lưu trữ ở client (cookie). Còn Cookie thì lưu trữ dữ liệu trên máy Client. Để hiểu rõ hơn thì ta phải vào tìm hiểu cụ thể.

So sánh session và cookie php năm 2024

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Session trong PHP

Biến Session trong PHP được dùng để lưu trữ thông tin của người dùng hoặc là lưu trữ tùy chọn cấu hình hệ thống cho người dùng. Đặc biệt mỗi client sẽ có một ID session khác nhau nên việc thông tin Session ở Client A bị ảnh hưởng qua Client B là điều không thể. Thông thường chúng ta sử dụng Session để lưu thông tin đăng nhập, giỏ hàng hoặc những dữ liệu mang tính chất tạm thời và mỗi client sẽ có dư liệu khác nhau.

Đăng ký session

Trước khi bạn sử dụng session bạn phải khai báo cho PHP biết bằng cách đặt dòng lệnh session_start() phía trên đầu mỗi file. Nếu bạn dùng nhiều file include lẫn nhau thì đặt nó ở file chính.

Ví dụ:

Bài viết này được đăng tại [free tuts .net]

  
      
      
  
  
    
TODO write content

Dòng lệnh session_start() sẽ đăng ký phiên làm việc của người dùng trên Server, từ đó Server sẽ tạo ra một ID riêng không trùng lặp để nhận diện cho client hiện tại. Dòng này bắt buộc có.

Lưu trữ session

Tất cả Session được lưu trữ trong biến toàn cục $_SESSION, vì thể để lưu thêm dữ liệu Session hay là thay đổi dữ liệu của Session thì ta sẽ thao tác trên biến đó. Lưu ý với bạn trước khi dùng phép lấy giá trị Session bạn phải kiểm tra sesion đó có tồn tại không rồi hãy lấy.

Để lưu một giá trị mới vào Session ta dùng cú pháp như sau: $_SESSION['session_name'] = $session_value

Để lấy giá trị Session ta dùng cú pháp sau:

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


0. Như tôi đề cập ở trên trước khi bạn lấy giá trị Session bạn nên kiểm tra nó có tồn tại không rồi hãy lấy.

Ví dụ:

Bạn tạo một file

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


1 và copy nội dung này vào:

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


Bạn hãy nhập tên vào sau đó nhấn vào button Lưu Sessoin. sau đó bạn refresh lại trang bạn sẽ thấy thông tin bạn đã được lưu trữ trên Server nên có hiển thị ra.

Xóa session

Tất cả các giá trị Session đều lưu trữ trong biến $_SESSION nên để xóa nó các bạn chỉ việc dùng hàm

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


2, trong đó hàm unset dùng để giải phóng một biến ra khỏi bộ nhớ.

Nếu bạn muốn xóa hết tất cả các Session thì ta dùng hàm

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


3.

Ví dụ:

// Xóa session name unset($_SESSION['name']); // Xóa hết session session_destroy();

Còn rất nhiều hàm khác các bạn tham khảo tại .

Cookie thường được dùng để lưu trữ các tùy chọn riêng của trang web từng user, nó là một file nhỏ được Server chỉ định lưu trữ trên máy tính của Client và PHP có thể truy xuất tới được. Và để sử dụng được Cookie thì trình duyệt phải hỗ trợ chức năng này, nếu không thì Cookie trở nên vô dụng.

Cookie sẽ không bị mất khi bạn đóng ứng dụng, nó phụ thuộc vào thời gian sống mà bạn thiết lập cho nó. Ví dụ bạn thiết lập Cookie lưu trữ thông tin đăng nhập trong vòng 15 phút thì sau 15 phút mà bạn không có một thao tác thay đổi trên nó thì Cookie của bạn sẽ bị chết. Đây chính là sự lợi hại của việc sư dụng Cookie.

Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ html:

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


4.

Trong đó:

  • $name: là tên của Cookie
  • $value: giá trị của Cookie
  • $expire: thời gian sống của Cookie
  • $path : đường dẫn lưu trữ Cookie
  • $domain: tên của domain

Ví dụ: lưu trữ tên đăng nhập

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


5 trong một giờ

setcookie('username', 'thehalfheart', time() + 3600); ?>

  
      
      
  
  
  

Tất cả Cookie được lưu trữ trong biến toàn cục

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


6 nên để lấy giá trị Cookie ta dùng cú pháp sau:

// Lưu Session $_SESSION['name'] = $_POST['username']; } ?>

  
      
      
  
  
    


7. Cũng như lưu ý ở phần Session bạn nên kiểm tra có tồn tại Cookie không trước khi lấy nhé, nếu không sẽ bị thông báo lỗi nếu nó không tồn tại.

Ví dụ: Lấy giá tri username vừa lưu trữ ở trên

if (isset($_COOKIE['username'])) { echo $_COOKIE['username']; }

Để xóa Cookie bạn chỉ việc thiết lập thời gian sống của nó sang quá trị âm nhiều hơn hoặc bằng giá trị sống lúc bạn thiết lập.

Ví dụ: xóa Cookie đã thiết lập ở trên

setcookie("username", "", time()-3600);

Lời Kết

Bài này chúng ta đã nghiên cứu được 2 cách lưu trữ dữ liệu tạm thời của người dùng đó là Session và Cookie. Những ví dụ trên rất căn bản nhưng thực tết rất hay sử dụng, nếu các bạn muốn tìm hiểu sâu hơn thì lên để tìm hiểu. Nhưng mình nghĩ các bạn hiện tại chưa rành nhiều nên chỉ cần biết bấy nhiêu đó là đủ.