Tạo phiên php mới

Một cách khác để làm cho dữ liệu có thể truy cập được trên các trang khác nhau của toàn bộ trang web là sử dụng Phiên PHP

Một phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi các biến phiên đã đăng ký và giá trị của chúng được lưu trữ. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó

Vị trí của tệp tạm thời được xác định bởi cài đặt trong tệp php. ini được gọi là phiên. Lưu đường dẫn. Trước khi sử dụng bất kỳ biến phiên nào, hãy đảm bảo rằng bạn đã thiết lập đường dẫn này

Khi một phiên được bắt đầu, những điều sau đây sẽ xảy ra -

  • Trước tiên, PHP tạo một mã định danh duy nhất cho phiên cụ thể đó là một chuỗi ngẫu nhiên gồm 32 số thập lục phân, chẳng hạn như 3c7foj34c3jj973hjkop2fc937e3443

  • Cookie có tên PHPSESSID được tự động gửi đến máy tính của người dùng để lưu trữ chuỗi nhận dạng phiên duy nhất

  • Một tệp được tạo tự động trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của mã định danh duy nhất có tiền tố là sess_ tức là sess_3c7foj34c3jj973hjkop2fc937e3443

Khi một tập lệnh PHP muốn truy xuất giá trị từ một biến phiên, PHP sẽ tự động lấy chuỗi mã định danh phiên duy nhất từ ​​cookie PHPSESSID và sau đó tìm trong thư mục tạm thời của nó để tìm tệp mang tên đó và có thể thực hiện xác thực bằng cách so sánh cả hai giá trị

Một phiên kết thúc khi người dùng mất trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ kết thúc phiên sau một khoảng thời gian định trước, thường là 30 phút

Bắt đầu một phiên PHP

Một phiên PHP có thể dễ dàng bắt đầu bằng cách gọi hàm session_start(). Trước tiên, chức năng này kiểm tra xem một phiên đã bắt đầu chưa và nếu chưa có phiên nào bắt đầu thì nó sẽ bắt đầu một phiên. Bạn nên gọi hàm session_start() ở đầu trang

Các biến phiên được lưu trữ trong mảng kết hợp có tên $_SESSION[]. Các biến này có thể được truy cập trong suốt thời gian tồn tại của phiên

Ví dụ sau bắt đầu một phiên, sau đó đăng ký một biến có tên là bộ đếm được tăng lên mỗi khi trang được truy cập trong phiên

Sử dụng hàm isset() để kiểm tra xem biến phiên đã được đặt hay chưa

Đặt mã này trong một bài kiểm tra. php và tải tệp này nhiều lần để xem kết quả -



   
   
      Setting up a PHP session
   
   
   
      
   
   

Nó sẽ tạo ra kết quả sau -

You have visited this page 1in this session.

Phá hủy phiên PHP

Phiên PHP có thể bị hủy bởi hàm session_destroy(). Hàm này không cần bất kỳ đối số nào và một lệnh gọi có thể hủy tất cả các biến phiên. Nếu bạn muốn hủy một biến phiên thì bạn có thể sử dụng hàm unset() để hủy đặt một biến phiên

Đây là ví dụ để hủy đặt một biến duy nhất -

Đây là cuộc gọi sẽ hủy tất cả các biến phiên -

Bật phiên tự động

Bạn không cần gọi hàm start_session() để bắt đầu phiên khi người dùng truy cập trang web của bạn nếu bạn có thể đặt phiên. biến auto_start thành 1 trong php. tập tin ini

Có thể xảy ra trường hợp người dùng không cho phép lưu trữ cookie trên máy của họ. Vì vậy, có một phương pháp khác để gửi ID phiên tới trình duyệt

Ngoài ra, bạn có thể sử dụng hằng số SID được xác định nếu phiên bắt đầu. Nếu khách hàng không gửi cookie phiên thích hợp, nó sẽ có dạng session_name=session_id. Mặt khác, nó mở rộng thành một chuỗi rỗng. Do đó, bạn có thể nhúng nó vô điều kiện vào các URL

Ví dụ sau minh họa cách đăng ký một biến và cách liên kết chính xác đến một trang khác bằng SID

Xử lý phiên là một khái niệm quan trọng trong PHP cho phép thông tin người dùng được duy trì trên tất cả các trang của trang web hoặc ứng dụng. Trong bài đăng này, bạn sẽ tìm hiểu những điều cơ bản về xử lý phiên trong PHP

Chúng tôi sẽ bắt đầu với phần giải thích về cách phiên hoạt động và cách chúng liên quan đến cookie. Sau đó, chúng ta sẽ xem xét một vài đoạn mã minh họa cách làm việc với các phiên. Bạn sẽ tìm hiểu cách tạo và hủy phiên cũng như cách thay đổi biến phiên

Bạn không chắc liệu mình có cần cookie hoặc biến phiên không? . Cookies là một cách để lưu trữ dữ liệu về người dùng trên máy tính của người dùng. Biến phiên thường được sử dụng trong các ứng dụng cần theo dõi hoạt động của người dùng. Cookie thường được sử dụng trong các ứng dụng cần lưu trữ thông tin về người dùng cho một trang web

Bạn cũng có thể tìm hiểu về các biến phiên trong bài viết của tôi về cách sử dụng cookie trong PHP

  • Tạo phiên php mới
    Tạo phiên php mới
    Tạo phiên php mới

    Cách làm việc với cookie trong PHP

    Tạo phiên php mới
    Tạo phiên php mới
    Tạo phiên php mới

    Sajal Soni

    16 Th02 2021

Phiên trong PHP là gì?

Phiên là một cơ chế để duy trì thông tin trên các trang web khác nhau nhằm xác định người dùng khi họ điều hướng một trang web hoặc ứng dụng. Bạn đang tự hỏi tại sao các phiên lại cần thiết cho một trang web?

Giao thức HTTP là một giao thức không trạng thái, có nghĩa là không có cách nào máy chủ có thể nhớ một người dùng cụ thể giữa nhiều yêu cầu. Ví dụ, khi bạn truy cập một trang web, máy chủ chỉ có nhiệm vụ cung cấp nội dung của trang được yêu cầu. Vì vậy, khi bạn truy cập các trang khác của cùng một trang web, máy chủ web sẽ diễn giải từng yêu cầu một cách riêng biệt, như thể chúng không liên quan đến nhau. Không có cách nào để máy chủ biết rằng mỗi yêu cầu bắt nguồn từ cùng một người dùng

Sơ đồ sau mô tả tóm tắt giao thức HTTP

Tạo phiên php mới
Tạo phiên php mới
Tạo phiên php mới

Trong mô hình này, nếu bạn muốn hiển thị thông tin cụ thể của người dùng, bạn phải xác thực người dùng trong mỗi yêu cầu. Hãy tưởng tượng nếu bạn phải nhập tên người dùng và mật khẩu của mình trên mọi trang hiển thị thông tin hồ sơ của bạn. Vâng, nó sẽ cồng kềnh và không thực tế chút nào, và đó là lý do tại sao các phiên ra đời

Phiên cho phép bạn chia sẻ thông tin trên các trang khác nhau của một trang web hoặc ứng dụng—do đó, phiên này giúp duy trì trạng thái. Điều này cho phép máy chủ biết rằng tất cả các yêu cầu bắt nguồn từ cùng một người dùng, do đó cho phép trang web hiển thị thông tin và tùy chọn cụ thể của người dùng

Hãy xem nhanh quy trình đăng nhập phổ biến cho một trang web để hiểu điều gì xảy ra đằng sau hậu trường

  1. Một người dùng mở trang đăng nhập của một trang web
  2. Sau khi gửi biểu mẫu đăng nhập, một máy chủ ở đầu bên kia sẽ xác thực yêu cầu bằng cách xác thực thông tin đăng nhập đã được nhập
  3. Nếu thông tin đăng nhập do người dùng nhập là hợp lệ, máy chủ sẽ tạo một phiên mới. Máy chủ tạo một số ngẫu nhiên duy nhất, được gọi là id phiên. Nó cũng tạo một tệp mới trên máy chủ được sử dụng để lưu trữ thông tin dành riêng cho phiên
  4. Tiếp theo, id phiên được trả lại cho người dùng, cùng với bất kỳ tài nguyên nào được yêu cầu. Đằng sau hậu trường, id phiên này được gửi trong cookie
    3
    47 trong tiêu đề phản hồi
  5. Khi trình duyệt nhận được phản hồi từ máy chủ, trình duyệt sẽ xuất hiện tiêu đề cookie 
    3
    47. Nếu trình duyệt cho phép sử dụng cookie, thì cookie này sẽ lưu 
    3
    47 cookie này, cookie này sẽ lưu id phiên do máy chủ chuyển
  6. Đối với các yêu cầu tiếp theo, cookie 
    3
    47 được chuyển trở lại máy chủ. Khi máy chủ bắt gặp cookie 
    3
    47, nó sẽ cố gắng khởi tạo một phiên với id phiên đó. Nó làm như vậy bằng cách tải tệp phiên đã được tạo trước đó, trong quá trình khởi tạo phiên. Sau đó, nó sẽ khởi tạo biến mảng siêu toàn cục 
    3
    52 với dữ liệu được lưu trữ trong tệp phiên

Theo cách này, dữ liệu người dùng được lưu giữ qua nhiều yêu cầu và người dùng được duy trì đăng nhập trong suốt phiên

Sơ đồ sau mô tả cách thức hoạt động của giao thức HTTP với các phiên

Tạo phiên php mới
Tạo phiên php mới
Tạo phiên php mới

Bây giờ bạn đã xem phần giới thiệu ngắn gọn về cách hoạt động của các phiên, chúng ta sẽ tạo một vài ví dụ thực tế để minh họa cách tạo và thao tác các biến phiên

Cách bắt đầu một phiên

Trong phần này, chúng ta sẽ thảo luận về cách bắt đầu một phiên làm việc trong PHP

Bất cứ khi nào bạn muốn xử lý các biến phiên, bạn cần đảm bảo rằng một phiên đã được bắt đầu. Có một số cách bạn có thể bắt đầu một phiên làm việc trong PHP

Sử dụng Hàm 353 

Đây là phương pháp mà bạn sẽ thấy thường xuyên nhất, trong đó một phiên được bắt đầu bằng hàm 

3
53

You have visited this page 1in this session.
2_______13
You have visited this page 1in this session.
4
You have visited this page 1in this session.
5
3
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
You have visited this page 1in this session.
9
0
1
You have visited this page 1in this session.
30
You have visited this page 1in this session.
31

Điều quan trọng là hàm 

3
53 phải được gọi ở phần đầu của tập lệnh, trước khi bất kỳ đầu ra nào được gửi đến trình duyệt. Nếu không, bạn sẽ gặp phải lỗi 
3
56 khét tiếng

Tự động bắt đầu một phiên

Nếu có nhu cầu sử dụng các phiên trong toàn bộ ứng dụng của mình, bạn cũng có thể chọn tự động bắt đầu một phiên mà không cần sử dụng hàm 

3
53

Có một tùy chọn cấu hình trong php. ini cho phép bạn tự động bắt đầu một phiên cho mọi yêu cầu—

3
58. Theo mặc định, nó được đặt thành 
3
59 và bạn có thể đặt thành 
3
60 để bật chức năng tự động khởi động

You have visited this page 1in this session.
2____133

Mặt khác, nếu bạn không có quyền truy cập vào tệp php. ini và bạn đang sử dụng máy chủ web Apache, bạn cũng có thể đặt biến này bằng cách sử dụng. htaccess tệp

You have visited this page 1in this session.
2____135

Nếu bạn thêm dòng trên vào. htaccess, tệp này sẽ tự động bắt đầu một phiên trong ứng dụng PHP của bạn

Cách lấy Id phiên

Như chúng ta đã thảo luận trước đó, máy chủ tạo một số duy nhất cho mỗi phiên mới. Nếu muốn lấy id phiên, bạn có thể sử dụng hàm 

3
61, như minh họa trong đoạn mã sau

You have visited this page 1in this session.
2______13
You have visited this page 1in this session.
4
You have visited this page 1in this session.
7
3
You have visited this page 1in this session.
41
You have visited this page 1in this session.
8
You have visited this page 1in this session.
31

Điều đó sẽ cung cấp cho bạn id phiên hiện tại. Hàm 

3
61 thú vị ở chỗ nó cũng có thể nhận một đối số—id phiên. Nếu muốn thay thế id phiên do hệ thống tạo bằng id phiên của riêng bạn, bạn có thể cung cấp id đó cho đối số đầu tiên của hàm 
3
61

You have visited this page 1in this session.
2______13
You have visited this page 1in this session.
4
You have visited this page 1in this session.
47
3
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
You have visited this page 1in this session.
31

Điều quan trọng cần lưu ý là chức năng 

3
61 phải được đặt trước lệnh gọi 
3
53 khi bạn muốn bắt đầu một phiên với id phiên tùy chỉnh

Cách tạo biến phiên

Trong phần này, chúng ta sẽ khám phá cách khởi tạo các biến phiên trong PHP

Như chúng ta đã thảo luận trước đó, sau khi một phiên bắt đầu, mảng siêu toàn cục 

3
52 được khởi tạo với thông tin phiên tương ứng. Theo mặc định, nó được khởi tạo với một mảng trống và bạn có thể lưu trữ thêm thông tin bằng cách sử dụng cặp khóa-giá trị

Hãy xem đoạn script ví dụ sau minh họa cách khởi tạo các biến phiên

You have visited this page 1in this session.
2__
You have visited this page 1in this session.
3
You have visited this page 1in this session.
4
You have visited this page 1in this session.
5
3
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
You have visited this page 1in this session.
9
0
3
1
You have visited this page 1in this session.
30
3
3
3
4
3
5
3
6
You have visited this page 1in this session.
9
3
8
3
9
You have visited this page 1in this session.
70
You have visited this page 1in this session.
71
You have visited this page 1in this session.
72
You have visited this page 1in this session.
73
You have visited this page 1in this session.
74
You have visited this page 1in this session.
31

Như bạn có thể thấy, chúng ta đã bắt đầu một phiên ở phần đầu của tập lệnh bằng cách sử dụng hàm 

3
53. Sau đó, chúng tôi đã khởi tạo một vài biến phiên. Cuối cùng, chúng tôi đã truy cập các biến đó bằng cách sử dụng 
3
52 siêu toàn cục

Khi bạn lưu trữ dữ liệu trong một phiên bằng cách sử dụng siêu toàn cục 

3
52, dữ liệu cuối cùng sẽ được lưu trữ trong một tệp phiên tương ứng trên máy chủ được tạo khi phiên bắt đầu. Theo cách này, dữ liệu phiên được chia sẻ trên nhiều yêu cầu

Như chúng ta đã thảo luận, thông tin phiên được chia sẻ giữa các yêu cầu và do đó, các biến phiên được khởi tạo trên một trang cũng có thể được truy cập từ các trang khác cho đến khi phiên hết hạn. Nói chung, một phiên hết hạn khi đóng trình duyệt

Cách sửa đổi và xóa các biến phiên

Bạn có thể sửa đổi hoặc xóa các biến phiên được tạo trước đó trong ứng dụng giống như đối với các biến PHP thông thường

Hãy xem cách sửa đổi các biến phiên

You have visited this page 1in this session.
2__
You have visited this page 1in this session.
3
You have visited this page 1in this session.
4
You have visited this page 1in this session.
7
3
You have visited this page 1in this session.
9
You have visited this page 1in this session.
8
You have visited this page 1in this session.
83
0
You have visited this page 1in this session.
85
You have visited this page 1in this session.
30
You have visited this page 1in this session.
87
3
4
You have visited this page 1in this session.
89
3
6
You have visited this page 1in this session.
91
3
8
You have visited this page 1in this session.
85
You have visited this page 1in this session.
70
You have visited this page 1in this session.
95
You have visited this page 1in this session.
72
You have visited this page 1in this session.
89
You have visited this page 1in this session.
74
You have visited this page 1in this session.
9
00
01
02_______131

Trong tập lệnh trên, chúng tôi đã kiểm tra xem biến 

3
70 có được đặt ở vị trí đầu tiên hay không. Nếu nó không được đặt, chúng tôi sẽ đặt nó thành _______460, nếu không, chúng tôi sẽ tăng nó lên
3
60. Vì vậy, nếu bạn làm mới trang này nhiều lần, bạn sẽ thấy rằng bộ đếm được tăng lên một lần mỗi lần.  

Mặt khác, nếu muốn xóa một biến phiên, bạn có thể sử dụng hàm 

3
73, như minh họa trong đoạn mã sau

You have visited this page 1in this session.
2
You have visited this page 1in this session.
3
You have visited this page 1in this session.
4
You have visited this page 1in this session.
5
3
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
You have visited this page 1in this session.
9
0
13
You have visited this page 1in this session.
30
3
3
3
4
You have visited this page 1in this session.
9
3
6
19
3
8
You have visited this page 1in this session.
301
You have visited this page 1in this session.
70
You have visited this page 1in this session.
31

Do đó, bạn không còn có thể truy cập vào biến 

3
74 vì nó đã bị hàm 
3
73 xóa. Vì vậy, đó là cách bạn có thể thay đổi thông tin phiên

Làm thế nào để hủy một phiên

Trong phần này, chúng ta sẽ xem cách bạn có thể hủy một phiên. Trong phần trước, chúng ta đã thảo luận về hàm 

3
73, được sử dụng nếu bạn muốn xóa các biến phiên cụ thể. Mặt khác, nếu muốn xóa tất cả dữ liệu liên quan đến phiên cùng một lúc, bạn có thể sử dụng hàm 
3
77

Hàm 

3
77 xóa mọi thứ được lưu trữ trong phiên hiện tại. Phải nói rằng, nó không bỏ đặt các biến toàn cục được liên kết với phiên hoặc bỏ đặt cookie phiên

Vì vậy, nếu bạn đang sử dụng hàm 

3
77 để đăng xuất người dùng, thì bạn phải bỏ đặt biến
3
52 cũng như bỏ đặt cookie phiên. Do đó, cách được đề xuất để hủy hoàn toàn một phiên là

You have visited this page 1in this session.
2__
You have visited this page 1in this session.
3
You have visited this page 1in this session.
4
You have visited this page 1in this session.
5
3
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
You have visited this page 1in this session.
9
0
You have visited this page 1in this session.
313
You have visited this page 1in this session.
30
You have visited this page 1in this session.
9
3
4
You have visited this page 1in this session.
317
3
6
You have visited this page 1in this session.
319
3
8
You have visited this page 1in this session.
321
You have visited this page 1in this session.
70
You have visited this page 1in this session.
323
You have visited this page 1in this session.
72
You have visited this page 1in this session.
89
You have visited this page 1in this session.
74
You have visited this page 1in this session.
9
00
You have visited this page 1in this session.
329
You have visited this page 1in this session.
______ 3202

Trình xử lý phiên

Cho đến giờ, chúng ta đã thảo luận về cách bạn có thể thực hiện các hoạt động khác nhau với các biến phiên. Trong phần này, chúng ta sẽ thảo luận về trình xử lý phiên là gì và bạn có thể sử dụng nó như thế nào

Trình xử lý phiên PHP là cơ chế hướng dẫn PHP cách quản lý phiên. Trình xử lý phiên mặc định là một hệ thống tệp và điều đó có nghĩa là PHP lưu trữ các phiên trên đĩa. Về cơ bản, đó là một tệp nhỏ trên máy chủ được liên kết với id phiên duy nhất. Đó là cùng một id được lưu trữ trong cookie phiên trên trình duyệt máy khách

Trình xử lý phiên mặc định trong PHP cung cấp cho bạn tất cả các tính năng cần thiết, nhưng đôi khi bạn muốn lưu trữ các phiên theo cách khác. Ví dụ: bạn có thể muốn quản lý các phiên trong cơ sở dữ liệu, Redis hoặc một số bộ lưu trữ khác. Trong trường hợp này, bạn cần triển khai trình xử lý phiên tùy chỉnh sẽ ghi đè hành vi mặc định

Để hiểu cách hoạt động của trình xử lý phiên tùy chỉnh, chúng tôi sẽ thảo luận ngắn gọn về cách bạn có thể triển khai trình xử lý phiên cơ sở dữ liệu để quản lý các phiên trong cơ sở dữ liệu MySQL

Cách triển khai Trình xử lý phiên cơ sở dữ liệu

Trong vòng đời phiên PHP, có các giai đoạn khác nhau như mở, đọc, ghi và đóng. Ngoài ra còn hai giai đoạn nữa. tiêu hủy và thu gom rác. Vì vậy, khi bạn triển khai trình xử lý phiên tùy chỉnh, bạn phải xử lý từng giai đoạn này để quản lý dữ liệu phiên đúng cách

Có hai cách bạn có thể triển khai trình xử lý phiên tùy chỉnh. Bạn có thể xác định các hàm gọi lại cho các giai đoạn khác nhau trong vòng đời của phiên hoặc bạn có thể viết một lớp triển khai giao diện

3
81. Trong cả hai trường hợp, bạn cần sử dụng hàm 
3
82 để khởi chạy trình xử lý phiên tùy chỉnh của mình. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng triển khai giao diện 
3
81

Trong ví dụ của chúng tôi, chúng tôi sẽ lưu trữ các phiên trong cơ sở dữ liệu MySQL. Vì vậy, hãy tạo một bảng lưu trữ dữ liệu phiên bằng cách sử dụng đoạn mã sau

You have visited this page 1in this session.
2______1333
You have visited this page 1in this session.
4
You have visited this page 1in this session.
335
3
You have visited this page 1in this session.
337
You have visited this page 1in this session.
8
You have visited this page 1in this session.
339
0
You have visited this page 1in this session.
341
You have visited this page 1in this session.
30
You have visited this page 1in this session.
343

Tiếp theo, hãy xem trình xử lý phiên cơ sở dữ liệu tùy chỉnh của chúng tôi trông như thế nào

You have visited this page 1in this session.
2
You have visited this page 1in this session.
3
You have visited this page 1in this session.
4
You have visited this page 1in this session.
347
3
You have visited this page 1in this session.
85
You have visited this page 1in this session.
8
You have visited this page 1in this session.
351
0
You have visited this page 1in this session.
30
You have visited this page 1in this session.
354
3
4
You have visited this page 1in this session.
356
3
6
You have visited this page 1in this session.
358
3
8
You have visited this page 1in this session.
360
You have visited this page 1in this session.
70
You have visited this page 1in this session.
72
You have visited this page 1in this session.
363
You have visited this page 1in this session.
74
You have visited this page 1in this session.
356
00
You have visited this page 1in this session.
367
02
You have visited this page 1in this session.
369
You have visited this page 1in this session.
370
You have visited this page 1in this session.
371
You have visited this page 1in this session.
372
You have visited this page 1in this session.
373
You have visited this page 1in this session.
374
You have visited this page 1in this session.
375
You have visited this page 1in this session.
376
You have visited this page 1in this session.
360
You have visited this page 1in this session.
378
You have visited this page 1in this session.
379
You have visited this page 1in this session.
380
You have visited this page 1in this session.
381
You have visited this page 1in this session.
356
You have visited this page 1in this session.
383
You have visited this page 1in this session.
384
You have visited this page 1in this session.
385
You have visited this page 1in this session.
386
You have visited this page 1in this session.
387
You have visited this page 1in this session.
388
You have visited this page 1in this session.
389
You have visited this page 1in this session.
390
You have visited this page 1in this session.
391
You have visited this page 1in this session.
392
You have visited this page 1in this session.
393
You have visited this page 1in this session.
394
You have visited this page 1in this session.
395
You have visited this page 1in this session.
396
You have visited this page 1in this session.
397
You have visited this page 1in this session.
398
You have visited this page 1in this session.
399
You have visited this page 1in this session.
400
You have visited this page 1in this session.
401
You have visited this page 1in this session.
402
You have visited this page 1in this session.
403
You have visited this page 1in this session.
404
You have visited this page 1in this session.
375
You have visited this page 1in this session.
406
You have visited this page 1in this session.
360
You have visited this page 1in this session.
408
You have visited this page 1in this session.
409
You have visited this page 1in this session.
410
You have visited this page 1in this session.
411
You have visited this page 1in this session.
356
You have visited this page 1in this session.
413
You have visited this page 1in this session.
384
You have visited this page 1in this session.
415
You have visited this page 1in this session.
416
You have visited this page 1in this session.
417
You have visited this page 1in this session.
418
You have visited this page 1in this session.
419
You have visited this page 1in this session.
390
You have visited this page 1in this session.
421
You have visited this page 1in this session.
396
You have visited this page 1in this session.
423
You have visited this page 1in this session.
424
You have visited this page 1in this session.
369
You have visited this page 1in this session.
426
You have visited this page 1in this session.
401
You have visited this page 1in this session.
428______

Lớp trình xử lý phiên tùy chỉnh của chúng tôi 

3
84 triển khai giao diện 
3
81. Do đó, nó phải triển khai các phương thức được khai báo trong giao diện 
3
81. Chúng ta sẽ xem xét từng phương pháp này để hiểu cách thức hoạt động của từng phương pháp

You have visited this page 1in this session.
2______1354
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
358____18
You have visited this page 1in this session.
360

Trước tiên, để sử dụng mã này, hãy đảm bảo thay thế 

3
87, 
3
88 và các phần giữ chỗ khác bằng các giá trị thực trong phương thức 
3
89

You have visited this page 1in this session.
2______1363
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
367
You have visited this page 1in this session.
8
You have visited this page 1in this session.
369
0
You have visited this page 1in this session.
371
You have visited this page 1in this session.
30
You have visited this page 1in this session.
373
3
4
You have visited this page 1in this session.
375
3
6
You have visited this page 1in this session.
360

Khi phiên bắt đầu, phương thức 

3
90 được gọi. Nó trả về _______491 nếu kết nối cơ sở dữ liệu thành công. Nếu có bất kỳ sự cố nào khi thiết lập kết nối cơ sở dữ liệu, nó sẽ trả về 
3
92

You have visited this page 1in this session.
2
You have visited this page 1in this session.
380
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
384
You have visited this page 1in this session.
8
You have visited this page 1in this session.
386__

Tiếp theo, PHP gọi phương thức 

3
93 để đọc dữ liệu phiên. Phương thức 
3
93 nhận id phiên làm đối số đầu tiên. Chúng tôi sẽ kiểm tra xem có bất kỳ mục nhập nào cho id phiên này trong bảng 
3
95 hay không. Nếu nó tồn tại, chúng tôi sẽ trả lại dữ liệu phiên;

You have visited this page 1in this session.
2
You have visited this page 1in this session.
410
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
384
You have visited this page 1in this session.
8
You have visited this page 1in this session.
416
0
You have visited this page 1in this session.
418
You have visited this page 1in this session.
30
You have visited this page 1in this session.
390
3
4
You have visited this page 1in this session.
396
3
6
3
8
You have visited this page 1in this session.
369
You have visited this page 1in this session.
70
You have visited this page 1in this session.
401
You have visited this page 1in this session.
72
You have visited this page 1in this session.
373
You have visited this page 1in this session.
74
You have visited this page 1in this session.
375
00_______1360

Khi PHP cần lưu hoặc đóng một phiên, nó sẽ gọi phương thức 

3
96 . Nó được sử dụng để ghi dữ liệu phiên trong cơ sở dữ liệu. Chúng tôi đã sử dụng cú pháp 
3
97 để đảm bảo rằng nếu một mục nhập tồn tại, thì mục nhập đó sẽ được cập nhật;

You have visited this page 1in this session.
2______1491
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
495
You have visited this page 1in this session.
8
You have visited this page 1in this session.
360

Phương thức 

3
98 được gọi sau khi phương thức 
3
96 đã được gọi. Nó hoạt động tương tự như một hàm hủy trong các lớp. Trong trường hợp của chúng tôi, không có gì cụ thể cần phải thực hiện trong phương thức 
3
98 

You have visited this page 1in this session.
2_______1436
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
384
You have visited this page 1in this session.
8
You have visited this page 1in this session.
442
0
You have visited this page 1in this session.
388
You have visited this page 1in this session.
30
You have visited this page 1in this session.
390
3
4
You have visited this page 1in this session.
396
3
6
3
8
You have visited this page 1in this session.
369
You have visited this page 1in this session.
70
You have visited this page 1in this session.
401
You have visited this page 1in this session.
72
You have visited this page 1in this session.
373
You have visited this page 1in this session.
74
You have visited this page 1in this session.
375
00_______1360

Phương thức 

You have visited this page 1in this session.
701 được gọi khi phiên bị hủy bằng hàm 
3
77 hoặc 
You have visited this page 1in this session.
703 . Trong phương pháp này, dữ liệu phiên sẽ bị xóa khỏi cơ sở dữ liệu nếu nó tồn tại

You have visited this page 1in this session.
2_______1462
You have visited this page 1in this session.
4
You have visited this page 1in this session.
356
3
You have visited this page 1in this session.
466
You have visited this page 1in this session.
8
0
You have visited this page 1in this session.
384
You have visited this page 1in this session.
30
You have visited this page 1in this session.
471
3
4
You have visited this page 1in this session.
473
3
6
You have visited this page 1in this session.
390
3
8
You have visited this page 1in this session.
396
You have visited this page 1in this session.
70
You have visited this page 1in this session.
72
You have visited this page 1in this session.
369
You have visited this page 1in this session.
74
You have visited this page 1in this session.
401
00___1373_____3702___1

Khi PHP chạy trình thu gom rác theo định kỳ, phương thức 

You have visited this page 1in this session.
704 được gọi. Biến 
You have visited this page 1in this session.
705 giữ giá trị của tùy chọn cấu hình 
You have visited this page 1in this session.
706 trong php. tệp ini. Trong phương pháp này, chúng tôi sẽ xóa tất cả các phiên đã hết hạn như một phần của quy trình thu gom rác

Sử dụng lớp Trình xử lý phiên MySQL

Bây giờ, hãy xem cách sử dụng lớp trình xử lý 

3
84 

You have visited this page 1in this session.
2______440
You have visited this page 1in this session.
4
3
42______4
You have visited this page 1in this session.
7
You have visited this page 1in this session.
8
3
46

Như bạn có thể thấy, chúng ta chỉ cần khởi tạo lớp 

3
84 và chuyển nó đến hàm 
3
82 để hướng dẫn PHP rằng nó cần sử dụng lớp 
3
84 để quản lý phiên. Tiếp theo, chúng ta đã gọi hàm 
3
53 để bắt đầu một phiên. Cuối cùng, chúng tôi đã khởi tạo một biến phiên cho mục đích thử nghiệm

Nếu mọi thứ suôn sẻ, bạn sẽ thấy mục nhập phiên trong bảng 

You have visited this page 1in this session.
712 như minh họa trong ảnh chụp màn hình sau

Tạo phiên php mới
Tạo phiên php mới
Tạo phiên php mới

Và với điều đó, bạn đã tạo một trình xử lý phiên tùy chỉnh đang hoạt động để quản lý các phiên trong cơ sở dữ liệu

Phần kết luận

Trong bài viết này, chúng ta đã khám phá những kiến ​​thức cơ bản về xử lý phiên trong PHP. Đó là một khái niệm quan trọng cho phép bạn duy trì thông tin trên các trang web

Trong nửa đầu của bài viết, chúng ta đã thảo luận về các khái niệm cơ bản về phiên và sau đó, chúng ta đã tạo một vài ví dụ PHP để minh họa cách bạn có thể tạo và hủy phiên cũng như thao tác với các biến phiên.

$_ phiên trong PHP là gì?

PHP $_SESSION là một mảng kết hợp chứa tất cả các biến phiên . Nó được sử dụng để đặt và nhận các giá trị biến phiên. Ví dụ. Lưu trữ thông tin.

Làm cách nào để tạo ID phiên trong PHP?

session_create_id() được sử dụng để tạo id phiên mới cho phiên hiện tại. Nó trả về id phiên không va chạm. Nếu phiên không hoạt động, kiểm tra va chạm sẽ bị bỏ qua. ID phiên được tạo theo php.

session_start() trong PHP là gì?

session_start() tạo phiên hoặc tiếp tục phiên hiện tại dựa trên mã định danh phiên được truyền qua yêu cầu GET hoặc POST hoặc được truyền qua cookie. When session_start() is called or when a session auto starts, PHP will call the open and read session save handlers.

Các phiên được tạo trong PHP giải thích như thế nào?

Một phiên được bắt đầu bằng hàm session_start() . Các biến phiên được đặt với biến toàn cục PHP. $_SESSION.