Hàm Session_destroy() trong PHP là gì?

PHP có chức năng cốt lõi session_destroy[] để xóa tất cả các giá trị phiên. Đây là một hàm không đối số đơn giản trả về giá trị boolean true hoặc false

ID phiên PHP được lưu trữ trong cookie theo mặc định. Nói chung, tệp cookie phiên đó có tên là PHPSESSID. Hàm session_destroy sẽ không bỏ đặt id phiên trong cookie

Để hủy phiên 'hoàn toàn', ID phiên cũng phải được bỏ đặt

Ví dụ nhanh này sử dụng session_destroy[] để hủy phiên. Nó sử dụng phương thức set_cookie[] để hủy toàn bộ bằng cách hết hạn ID phiên PHP

Một phiên chỉ là thời gian một người dành cho một trang web. PHP có một hệ thống quản lý phiên cho phép chúng tôi theo dõi những gì khách truy cập đang làm, họ thích gì, họ muốn gì, v.v., ngay cả sau khi người dùng đăng xuất. Khái niệm này tương tự như khái niệm cookie ở chỗ mục tiêu là giữ trạng thái

Hàm session_start[]

Bắt đầu một phiên yêu cầu gọi hàm PHP session_start trước khi bất kỳ HTML nào được xuất ra, tương tự như cách cookie được gửi trong quá trình trao đổi tiêu đề. Sau đó, để bắt đầu lưu các biến phiên, bạn chỉ cần gán chúng như một phần của mảng $_SESSION

Important: The function, session_start[], phải được gọi ở đầu trang. Chức năng này bắt đầu bằng cách kiểm tra xem đã có phiên nào qua ID phiên chưa. Nếu chưa có phiên nào, nó sẽ bắt đầu một phiên mới

Biến $_SESSION

Biến $_SESSION là một mảng kết hợp nơi dữ liệu phiên được lưu trữ. Dưới đây là một ví dụ về cách sử dụng thông thường của biến






    

Visitor Tracker

"; echo "The session id is: ",session_id[]; ?>

Lưu trữ và truy cập dữ liệu biến $_SESSION

Vì biến $_SESSION là một mảng kết hợp, dữ liệu có thể được truy cập và/hoặc lưu trữ dưới dạng các cặp khóa-giá trị. Dưới đây là một ví dụ đơn giản về lưu trữ và truy cập dữ liệu phiên thông qua biến $_SESSION

";
echo "Password: " . $_SESSION["password"] . "
";

Kết thúc một phiên

PHP thực sự không có cách nào để biết khi nào người dùng rời khỏi phiên, vì vậy nó cung cấp một số chức năng để giúp bạn kiểm soát thời điểm kết thúc phiên. Để kết thúc một phiên, bạn cần xóa các biến phiên và hủy phiên đó. Điều này có thể được thực hiện bằng cách sử dụng các hàm session_unset[]






    

Visitor Tracker

"; echo "The session id is: ",session_id[]; ?>
0

Một phiên kéo dài cho đến khi khách truy cập của bạn đóng trình duyệt của họ - nếu họ điều hướng sang một trang khác, sau đó quay lại trang web của bạn mà không đóng trình duyệt, phiên của họ sẽ vẫn tồn tại. Hành vi này thường là mong muốn - có khả năng dữ liệu phiên của khách truy cập của bạn có thể tồn tại trong nhiều ngày, miễn là họ tiếp tục duyệt quanh trang web của bạn, trong khi cookie thường có tuổi thọ cố định

Nếu bạn muốn kết thúc người dùng một cách rõ ràng và xóa dữ liệu của họ mà không cần đóng trình duyệt, bạn cần xóa mảng $_SESSION, sau đó sử dụng hàm session_destroy[]. Session_destroy[] xóa tất cả dữ liệu phiên được lưu trữ trên đĩa cứng của bạn, để lại cho bạn một phương tiện chặn rõ ràng

Để kết thúc phiên và xóa dữ liệu của phiên, hãy sử dụng mã này


Có hai điều quan trọng cần lưu ý ở đó. thứ nhất, session_start[] được gọi để PHP tải phiên của người dùng và thứ hai, chúng tôi sử dụng một lệnh gọi trống đến hàm array[] để biến $_SESSION thành một mảng trống - xóa sạch nó một cách hiệu quả. Nếu session_start[] không được gọi, cả hai dòng sau sẽ không hoạt động bình thường, vì vậy, một lần nữa, hãy luôn gọi session_start[]

Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

Phiên trong PHP là một cách lưu trữ tạm thời và làm cho dữ liệu có thể truy cập được trên tất cả các trang của trang web. Nó sẽ tạo một tệp tạm thời lưu trữ các biến phiên khác nhau và giá trị của chúng. Điều này sẽ bị hủy khi bạn đóng trang web. Tệp này sau đó có sẵn cho tất cả các trang của trang web để truy cập thông tin về người dùng

Bạn cần đặt đường dẫn cho tệp này bằng phiên. cài đặt save_path từ php. tập tin ini. Nếu bạn không đặt đường dẫn này, phiên có thể gặp trục trặc

Việc sử dụng phiên trong PHP là gì?

Phiên trong PHP cho phép máy chủ web lấy thông tin về thời điểm bạn bắt đầu trang web, bạn đang làm gì, khi bạn đóng trang web và các thông tin liên quan khác. Điều này là bắt buộc bởi vì, không giống như PC hoặc thiết bị di động, máy chủ web không có bất kỳ thông tin nào về bạn. Đó là nơi các phiên đi vào hình ảnh

Các phiên này có các biến phiên lưu trữ tất cả thông tin cần thiết vào một tệp tạm thời. Theo mặc định, nó sẽ hủy tệp này khi bạn đóng trang web. Do đó, nói một cách đơn giản, một phiên trong PHP giúp lưu trữ thông tin về người dùng và cung cấp dữ liệu cho tất cả các trang của trang web hoặc ứng dụng cho đến khi bạn đóng nó.

Nổi bật so với các đồng nghiệp của bạn trong mùa đánh giá này

Bắt đầu học với các khóa học MIỄN PHÍ của chúng tôi Đăng ký ngay

Điều gì xảy ra khi bạn bắt đầu một phiên trong PHP?

Những điều sau đây xảy ra khi một phiên được bắt đầu

  • Nó tạo ra một giá trị thập lục phân gồm 32 chữ số ngẫu nhiên làm mã định danh cho phiên cụ thể đó. Giá trị định danh sẽ giống như 4af5ac6val45rf2d5vre58sd648ce5f7
  • Nó gửi một cookie có tên PHPSESSID đến hệ thống của người dùng. Đúng như tên gọi, cookie PHPSESSID sẽ lưu trữ id phiên duy nhất của phiên
  • Một tệp tạm thời được tạo trên máy chủ và được lưu trữ trong thư mục đã chỉ định. Nó đặt tên tệp trên giá trị id thập lục phân có tiền tố là sess_. Do đó, id ví dụ trên sẽ được giữ trong một tệp có tên là sess_4af5ac6val45rf2d5vre58sd648ce5f7

PHP sẽ truy cập cookie PHPSESSID và lấy chuỗi id duy nhất để nhận các giá trị của biến phiên. Sau đó, nó sẽ xem trong thư mục của nó để tìm tệp có tên bằng chuỗi đó

Khi bạn đóng trình duyệt hoặc trang web, nó sẽ kết thúc phiên sau một khoảng thời gian xác định trước

Làm cách nào để bắt đầu một phiên PHP?

Bạn có thể bắt đầu một phiên trong PHP bằng cách sử dụng hàm session_start[]. Theo mặc định, chức năng này sẽ kiểm tra phiên hiện có trước tiên. Nếu một phiên đã tồn tại, nó sẽ không làm gì cả, nhưng nó sẽ tạo một phiên nếu không có sẵn phiên nào

Để đặt biến phiên, bạn có thể sử dụng biến mảng toàn cục có tên $_SESSION[]. Sau đó, máy chủ có thể truy cập các biến toàn cầu này cho đến khi kết thúc phiên. Bây giờ bạn đã biết phiên trong PHP là gì và cách bắt đầu một phiên, đã đến lúc xem một ví dụ và xem nó hoạt động như thế nào

Ghi chú. Bạn luôn nên đặt hàm session_start[] làm dòng đầu tiên trong mã của mình, ngay cả trước bất kỳ thẻ HTML nào

Thí dụ. Làm cách nào để bắt đầu một phiên trong PHP?

Trong ví dụ bên dưới, bạn sẽ bắt đầu một phiên sẽ đếm số lần bạn đã truy cập một trang web. Đối với điều này, bạn sẽ tạo một biến phiên có tên là bộ đếm

Chủ Đề