Làm thế nào để php quản lý các phiên?

Phiên PHP được sử dụng để lưu trữ và truyền thông tin tạm thời từ trang này sang trang khác (cho đến khi người dùng đóng trang web)

Kỹ thuật phiên PHP được sử dụng rộng rãi trong các trang web mua sắm, nơi chúng tôi cần lưu trữ và chuyển thông tin giỏ hàng e. g. tên người dùng, mã sản phẩm, tên sản phẩm, giá sản phẩm, v.v. từ trang này sang trang khác

Phiên PHP tạo id người dùng duy nhất cho mỗi trình duyệt để nhận ra người dùng và tránh xung đột giữa nhiều trình duyệt

Hàm session_start() trong PHP

Hàm session_start() trong PHP được sử dụng để bắt đầu phiên làm việc. Nó bắt đầu một phiên mới hoặc tiếp tục phiên hiện có. Nó trả về phiên hiện tại nếu phiên đã được tạo. Nếu phiên không có sẵn, nó sẽ tạo và trả về phiên mới

cú pháp

Thí dụ

PHP $_SESSION

PHP $_SESSION là một mảng kết hợp có 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

Phiên là một cơ chế thay thế cho cookie để lưu trữ thông tin người dùng. Không giống như cookie được lưu trên máy khách (trình duyệt của người dùng), phiên lưu trữ thông tin trong máy chủ lưu trữ ứng dụng

Theo mặc định, phiên lưu dữ liệu trong tệp văn bản trong hệ thống tệp máy chủ. Tuy nhiên, có thể thay đổi cấu hình đó để lưu dữ liệu trong cơ sở dữ liệu, Memcache, Redis, v.v. Đây là tất cả các lựa chọn thay thế rất hữu ích khi làm việc với các ứng dụng nằm trên các máy chủ khác nhau

Sử dụng phiên với PHP

Trong hầu hết các trường hợp, liên kết người dùng/phiên được thực hiện thông qua cookie chứa id phiên. Một phương pháp khác là chuyển PHPSESSID dưới dạng truy vấn tham số chuỗi, chẳng hạn

http://test.com/?PHPSESSID=123nd12312

Phương án thứ hai này hoàn toàn không phù hợp vì lý do bảo mật, do đó trong nhiều cấu hình PHP bị vô hiệu hóa. Nhà phát triển, đối với cookie, có thể quyết định phiên kéo dài bao lâu. Trừ khi có quy định khác, nó sẽ hết hạn khi đóng trình duyệt

Phiên được sử dụng rộng rãi để triển khai hệ thống xác thực trang web. Sau khi thông tin đăng nhập được xác minh là hợp lệ, sẽ hữu ích khi lưu trữ thông tin của người dùng trên một phiên để không tải lại chúng từ cơ sở dữ liệu ở mỗi lần mở trang

Khởi tạo một phiên

Một phiên, để được sử dụng, cần phải được khởi tạo. Đối với cookie, cần phải khởi tạo nó trước khi bất kỳ đầu ra nào được gửi đến trang

Hàm khởi tạo phiên là session_start(). Nó chấp nhận một loạt các tùy chọn, nếu được đặt, sẽ ghi đè lên các giá trị mặc định được đặt trong php.ini. Để biết cài đặt mặc định là gì, hãy tham khảo tài liệu chính thức

Khi phiên được khởi tạo, chúng tôi có thể truy cập dữ liệu có liên quan và theo đó, thêm một số dữ liệu bổ sung. Nếu chúng ta không thay đổi cấu hình PHP và kết xuất mảng $_COOKIE, chúng ta sẽ nhận thấy rằng có một mục nhập PHPSESSID chứa id của phiên mới được tạo. Điều này xác nhận những gì đã nói ở trên về mối liên hệ giữa người dùng/phiên

Truy cập dữ liệu phiên

Khi một phiên bắt đầu, thông tin nằm trong mảng $_SESSION. Giả sử chúng ta muốn lưu trữ tên người dùng trong phiên. Sau đó, chúng ta có thể tạo một khóa trong mảng

Xóa dữ liệu phiên

Đối với cookie, cũng có thể xóa một thuộc tính khỏi phiên thông qua lệnh

0

Thay vào đó, nếu chúng ta muốn loại bỏ tất cả các biến trong phiên, chúng ta có thể sử dụng hàm thích hợp

1

Hủy phiên

Khi phiên không còn cần thiết, chẳng hạn như khi người dùng đăng xuất, chúng tôi có thể hủy phiên đó thông qua chức năng

2

________số 8_______

Giữ phiên giữa các tệp khác nhau

Nếu chúng tôi khởi tạo một phiên trong một tệp, chẳng hạn như

3, sẽ không được duy trì tự động nếu chúng tôi truy cập một trang khác. Đây là lý do tại sao ở đầu mỗi tệp chúng ta cần gọi session_start(). Chức năng này lấy dữ liệu đã lưu trước đó nếu một phiên đã tồn tại

Làm thế nào để PHP theo dõi các phiên?

PHP cho phép chúng tôi theo dõi từng khách truy cập thông qua ID phiên duy nhất có thể được sử dụng để tương quan dữ liệu giữa các kết nối. Id này là một chuỗi ngẫu nhiên được gửi tới người dùng khi phiên được tạo và được lưu trữ trong trình duyệt của người dùng trong cookie (theo mặc định được gọi là PHPSESSID).

Cách tốt nhất để xử lý phiên trong PHP là gì?

Để xử lý phiên, trước tiên bạn phải khởi động phiên và lưu trữ một số giá trị cho bất kỳ biến phiên nào . Bạn có thể tạo bất kỳ số lượng biến phiên nào bạn muốn. Để xác thực Session có hoạt động hay không, chúng ta sử dụng hàm isset() và cuối cùng để hủy nó, chúng ta sử dụng hàm unset().

Phiên được quản lý như thế nào trong PHP ở phía máy chủ?

Quá trình đăng nhập được xử lý bởi tập lệnh dblogin. php , lấy tên người dùng và mật khẩu và kiểm tra tính hợp lệ của cặp. Sau khi làm như vậy, ID phiên được tạo, ID này phải là một số duy nhất