Hướng dẫn what is called session in php? - những gì được gọi là 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 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 chuyến thăm đó.

Vị trí của tệp tạm thời được xác định bởi một cài đặt trong tệp php.ini có tên session.save_path. Trước khi sử dụng bất kỳ biến phiên nào, hãy đảm bảo bạn đã thiết lập đường dẫn này.php.ini file called session.save_path. Before using any session variable make sure you have setup this path.

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

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

  • Một 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.PHPSESSID is automatically sent to the user's computer to store unique session identification string.

  • Một tệp được tự động tạo trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của số nhận dạng duy nhất được tiền tố bởi SESS_ IE SESS_3C7FOJ34C3JJJ973HJKOP2FC937E3443.

Khi tập lệnh PHP muốn truy xuất giá trị từ biến phiên, PHP sẽ tự động nhận chuỗi nhận dạng phiên duy nhất từ ​​cookie phpsessid và sau đó xem trong thư mục tạm thời của nó cho tệp mang tên đó và xác thực có thể được thực hiện 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ẽ chấm dứt phiên sau một khoảng thời gian được xác định trước, thường là khoảng thời gian 30 phút.

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

Một phiên PHP dễ dàng bắt đầu bằng cách thực hiện cuộc gọi đến hàm session_start (). Hàm này lần đầu tiên kiểm tra xem một phiên đã được bắt đầu và nếu không có bắt đầu thì nó sẽ bắt đầu một. Nên đặt cuộc gọi đến session_start () ở đầu trang.session_start() function.This function first checks if a session is already started and if none is started then it starts one. It is recommended to put the call to session_start() at the beginning of the page.

Các biến phiên được lưu trữ trong mảng kết hợp được gọi là $ _Session []. Các biến này có thể được truy cập trong suốt cuộc đời của một phiên.$_SESSION[]. These variables can be accessed during lifetime of a session.

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.counter that is incremented each time the page is visited during the session.

Sử dụng hàm isset () để kiểm tra xem biến phiên có được đặt hay không.isset() function to check if session variable is already set or not.

Đặt mã này vào tệp Test.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 một phiên PHP

Một phiên PHP có thể bị phá 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 cuộc gọi có thể phá hủy tất cả các biến phiên. Nếu bạn muốn phá hủy một biến phiên duy nhất thì bạn có thể sử dụng hàm Und () để hủy bỏ biến phiên.session_destroy() function. This function does not need any argument and a single call can destroy all the session variables. If you want to destroy a single session variable then you can use unset() function to unset a session variable.

Dưới đây là ví dụ để giải phóng một biến duy nhất -

Đây là cuộc gọi sẽ phá 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 biến.Auto_start biến thành 1 trong tệp php.ini.session.auto_start variable to 1 in php.ini file.

Có thể có một trường hợp khi 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 thức khác để gửi ID phiên đến trình duyệt.

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

Ví dụ sau đây cho thấy cách đăng ký một biến và cách liên kết chính xác với trang khác bằng SID.


To continue click following link

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

You have visited this page 1in this session.
To continue click following link 

Phá hủy một phiên PHPhtmlspecialchars() may be used when printing the SID in order to prevent XSS related attacks.

Phiên với ví dụ là gì?

Phiên là gì? Một phiên là một biến toàn cầu được lưu trữ trên máy chủ. Mỗi phiên được gán một ID duy nhất được sử dụng để truy xuất các giá trị được lưu trữ. Bất cứ khi nào một phiên được tạo, cookie chứa ID phiên duy nhất được lưu trữ trên máy tính của người dùng và được trả về mọi yêu cầu cho máy chủ.a global variable stored on the server. Each session is assigned a unique id which is used to retrieve stored values. Whenever a session is created, a cookie containing the unique session id is stored on the user's computer and returned with every request to the server.

Tên phiên là gì?

Tên phiên tham chiếu tên của phiên, được sử dụng trong cookie và URL (ví dụ: phpsessid).Nó chỉ chứa các ký tự chữ và số;Nó phải ngắn và mô tả (nghĩa là đối với người dùng có cảnh báo cookie được bật).references the name of the session, which is used in cookies and URLs (e.g. PHPSESSID ). It should contain only alphanumeric characters; it should be short and descriptive (i.e. for users with enabled cookie warnings).

Phiên và bài đăng trong PHP là gì?

$ _POST (hoặc $ _GET) được người dùng gửi đến tập lệnh của bạn.$ _Session được sử dụng để có tập lệnh của bạn ghi nhớ các giá trị khác nhau giữa các yêu cầu và được sử dụng chính tập lệnh, không phải trực tiếp bởi người dùng.

Các loại phiên trong PHP là gì?

PHP |chức năng basename () ..
PHP |hàm chgrp () ..
PHP |hàm chmod () ..
PHP |Chức năng Chown () ..
PHP |Sao chép () chức năng ..
PHP |hàm dirname () ..
PHP |chức năng disk_free_space () ..
PHP |chức năng disk_total_space () ..