Làm cách nào tôi có thể thấy các biến phiên trong PHP?

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

Nếu bạn là người dùng Internet tích cực, có lẽ bạn đã thấy cụm từ này. Phiên của bạn đã hết hạn. Nó thường xuất hiện khi bạn mở lại một trang sau một thời gian dài không hoạt động. Do đó, bạn không được đăng nhập tự động và các chức năng của một trang web cụ thể không còn nữa

Các phiên PHP là lý do tại sao dữ liệu có thể truy cập được đối với tất cả các trang web của một ứng dụng cụ thể. Dữ liệu cụ thể đó, hiện được giữ ở dạng biến, được lưu trữ tạm thời trên máy chủ. Khi bạn đóng cửa sổ hoặc tab của trình duyệt, phiên sẽ kết thúc

Trong hướng dẫn này, chúng ta sẽ nói về phiên PHP là gì, cách chúng bắt đầu hoặc kết thúc. Chúng ta cũng sẽ làm quen với các biến phiên PHP và hiểu PHP $_SESSION nghĩa là gì

nội dung

Phiên PHP. Mẹo chính

  • Phiên là phương pháp lưu trữ dữ liệu (sử dụng biến) để trình duyệt có thể sử dụng nó trên nhiều trang web
  • Ngược lại với cookie, dữ liệu không được lưu trên hệ thống của người dùng
  • Biến phiên chứa dữ liệu về người dùng hiện tại. Chúng có thể truy cập được vào tất cả các trang có trong một ứng dụng web
  • Dữ liệu phiên không phải là vĩnh viễn, nhưng bạn có thể tải dữ liệu người dùng vĩnh viễn cho những người dùng cụ thể bằng cách sử dụng cơ sở dữ liệu

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

Để bắt đầu phiên PHP, bạn phải sử dụng chức năng session_start()

Để đặt các biến phiên, bạn sẽ cần áp dụng một biến toàn cục PHP $_SESSION

Trong ví dụ dưới đây, chúng tôi bắt đầu tệp PHP demo_session1. php. Hãy xem cách chúng tôi làm điều đó

Sao chép ví dụ

 
  // Start the session
  session_start();
?>
html>
<html>
  <body>
  
    // Set session variables
    $_SESSION["color"]= "blue";
    $_SESSION["animal"]= "dog";
    echo "The session variable are set up.";
  ?>
  body>
html>

Ghi chú. Hàm PHP session_start() phải là thứ đầu tiên trong tài liệu của bạn. tất cả các thẻ HTML đến sau

Nhận giá trị của các biến

Để tiếp tục, chúng tôi tạo demo_session2. php. Sử dụng tệp này, chúng tôi sẽ truy cập dữ liệu trên demo_session1. php. Lưu ý cách dữ liệu phiên (ở dạng biến) phải được truy xuất riêng lẻ (hàm PHP session_start())

Xem ví dụ bên dưới để hiểu rõ hơn về cách biến PHP $_SESSION chứa tất cả dữ liệu phiên được khai báo trong tệp của bạn

Sao chép ví dụ

 session_start(); ?>
html>
<html>
  <body>
  
    // Echo session variables that were set on previous page
    echo "The color of my choice is " . $_SESSION["color"] . ".
"
; echo "The animal of my choice is " . $_SESSION["animal"] . "."; ?>
body>
html>

Trong ví dụ về tập lệnh bên dưới, bạn có thể thấy cách bạn có thể hiển thị tất cả các biến phiên hiện được khai báo

Sao chép ví dụ

 session_start(); ?>
html>
<html>
  <body>
  
    print_r($_SESSION);
  ?>
  body>
html>

Tự hỏi làm thế nào để một phiên biết nó là của ai? . phiên tạo mã định danh người dùng trên máy tính của người dùng. Đó là một chuỗi gồm 32 ký tự ngẫu nhiên (ví dụ: 3c7ght34c3jj9083hjaje2fc650e344t)

Khi một phiên bắt đầu trong một cửa sổ khác, nó sẽ kiểm tra mã định danh người dùng đã tạo trước đó và tiếp tục nếu tìm thấy

Làm cách nào tôi có thể thấy các biến phiên trong PHP?

ưu

  • Thiết kế đơn giản (không có thông tin không cần thiết)
  • Các khóa học chất lượng cao (ngay cả những khóa học miễn phí)
  • Tính năng đa dạng

Những đặc điểm chính

  • chương trình cấp bằng nano
  • Thích hợp cho doanh nghiệp
  • Giấy chứng nhận hoàn thành trả tiền

LOẠI TRỪ. GIẢM GIÁ 75%

Làm cách nào tôi có thể thấy các biến phiên trong PHP?

ưu

  • Dễ điều hướng
  • Không có vấn đề kỹ thuật
  • Có vẻ quan tâm đến người dùng của nó

Những đặc điểm chính

  • Rất nhiều khóa học đa dạng
  • chính sách hoàn tiền trong 30 ngày
  • Giấy chứng nhận hoàn thành miễn phí

THẤP NHƯ 12. 99$

Làm cách nào tôi có thể thấy các biến phiên trong PHP?

ưu

  • Trải nghiệm người dùng tuyệt vời
  • Cung cấp nội dung chất lượng
  • Rất minh bạch với giá cả của họ

Những đặc điểm chính

  • Giấy chứng nhận hoàn thành miễn phí
  • Tập trung vào các kỹ năng khoa học dữ liệu
  • Lịch học linh hoạt

GIẢM GIÁ 75%

Sửa đổi các biến

Bạn có thể thay đổi các biến phiên bằng cách ghi đè lên chúng

Sao chép ví dụ

 session_start(); ?>


  
   
    // you can change a session variable by assigning a new value
    $_SESSION["color"] = "red";
    print_r($_SESSION);
  ?>
  

Phiên bị hủy như thế nào

session_unset() sẽ loại bỏ tất cả các biến toàn cục, trong khi

 session_start(); ?>
html>
<html>
  <body>
  
    // Echo session variables that were set on previous page
    echo "The color of my choice is " . $_SESSION["color"] . ".
"
; echo "The animal of my choice is " . $_SESSION["animal"] . "."; ?>
body>
html>
0 sẽ hủy phiên hoàn toàn. Tuy nhiên, cả hai đều có tác dụng tương tự nhau.

Người dùng có thể xem các biến phiên không?

Không, các biến SESSION nằm ở phía máy chủ nên theo quan điểm của khách hàng, họ không thể thay đổi chúng . Đó là một trong những lý do chính khiến chúng tôi sử dụng Phiên thay vì cookie.

PHP lưu trữ các biến phiên ở đâu?

Bắt đầu phiên PHP . 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. associative array called $_SESSION[]. These variables can be accessed during lifetime of a session. The following example starts a session then register a variable called counter that is incremented each time the page is visited during the session.

Làm cách nào để in giá trị biến phiên trong PHP?

Sử dụng cái này. echo ' Or you can use print_r if you don't care about types. If you use print_r, you can make the second argument TRUE so it will return instead of echo, useful for...