Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

Session trong PHP cho phép lưu trữ thông tin (tên người dùng, danh mục hàng hoá trong giỏ hàng…) trong suốt quá trình làm việc của họ. Không giống như cookie, dữ liệu của session là tạm thời và chỉ thực sự kết thúc khi người dùng tắt trình duyệt hoặc máy chủ chấm dứt kết nối. Vì vậy, đôi lúc cần phải lưu trữ thông tin về session trong cơ sở dữ liệu.

Session làm việc bằng cách:

  • Mỗi session sẽ được cấp một định danh (ID) khác nhau là chuỗi 32 kí tự.
  • Cookie gọi là PHPSESSID sẽ được tự động gửi đến máy tính người dùng để lưu trữ chuỗi.
  • Một tệp tin được tự động tạo ra và nội dung đươc lưu trong thư mục thiết lập trong file php.ini.

Thiết lập session

  • Một session được thiết lập trong PH sử dụng cú pháp: session_start().
  • Tất cả session được lưu trong biến toàn cục $_SESSION.

Lưu ý: hàm khởi động session phải đặt phía trên thẻ HTML.





    

Có thể sử dụng phương thức isset() để kiểm tra xem session đã được thiết lập hay chưa.




 
    

Phân tích

Đoạn code ví dụ trên có tác dụng đếm và in ra màn hình số lần Reload current page (F5) trình duyệt.

  • Khi bạn chạy nó với lần đầu tiên. Phương thức isset() kiểm tra xem $_SESSION['views'] tồn tại (thiết lập) hay chưa. Lúc này nó chưa tồn tại nên được gán với giá trị 1.
  • Khi bạn Reload current page (F5) lại trình duyệt. Lúc này $_SESSION['views'] đã tồn tại. Liên tục hành động Reload current page (F5) thì biến $_SESSION['views'] sẽ tăng liên tục.

Huỷ bỏ session

Trong PHP, có nhiều cách để bạn có thể hủy bỏ một session. Tùy thuộc vào mục đích sử dụng mà bạn chọn một cách cho phù hợp. Hãy xem đoạn code ví dụ của tôi ở dưới đây.

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.

1, Session trong PHP.

-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é.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Đăng Ký

PHP Cơ Bản

Bài trước  Bài sau

2 comments 503 likes

Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

Vũ Thanh Tài

About author

The best way to learn is to share

Xem tất cả bài đăng

Bài Viết Mới

  • Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

    Những tính năng mới trong PHP 8.1

    1 năm trước 7 Comments

  • Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

    Bài 39: Cache trong Laravel 8

    2 năm trước 1 Comments

  • Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

    PHP Swoole là gì? nó có gì mạnh?

    2 năm trước 0 Comment

  • Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

    Cài đặt SSL trên local sử dụng mkcert

    2 năm trước 4 Comments

2 Comments

Đoạn lệnh php nào được sử dụng để lưu trữ một biến user có giá trị ‘ckcit’ vào trong session?

Chào admin: Hiện em mới tìm hiểu về sesion và cookie em có 1 vấn đề là: em muốn lưu 1 biến session chứa các array nhỏ bên trong, mỗi khi mình click 1 lần vào nút button hoặc thẻ  sẽ lưu thêm 1 mảng vào session thì mình nên làm sao để lưu được ạ. em cảm ơn