Hướng dẫn what is session in php why it is used? - Phiên trong php là gì tại sao nó được sử dụng?


Một phiên là một cách để lưu trữ thông tin (trong các biến) sẽ được sử dụng trên nhiều trang.

Không giống như cookie, thông tin không được lưu trữ trên máy tính người dùng.


Phiên PHP là gì?

Khi bạn làm việc với một ứng dụng, bạn mở nó, thực hiện một số thay đổi và sau đó bạn đóng nó. Điều này giống như một phiên. Máy tính biết bạn là ai. Nó biết khi bạn bắt đầu ứng dụng và khi bạn kết thúc. Nhưng trên internet có một vấn đề: Máy chủ web không biết bạn là ai hoặc bạn làm gì, vì địa chỉ HTTP không duy trì trạng thái.

Các biến phiên giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng sẽ được sử dụng trên nhiều trang (ví dụ: tên người dùng, màu yêu thích, v.v.). Theo mặc định, các biến phiên kéo dài cho đến khi người dùng đóng trình duyệt.

Vì thế; Các biến phiên chứa thông tin về một người dùng duy nhất và có sẵn cho tất cả các trang trong một ứng dụng.

Mẹo: Nếu bạn cần lưu trữ vĩnh viễn, bạn có thể muốn lưu trữ dữ liệu trong cơ sở dữ liệu. If you need a permanent storage, you may want to store the data in a database.


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

Một phiên được bắt đầu với chức năng session_start().

Các biến phiên được đặt với biến toàn cầu PHP: $ _Session.

Bây giờ, hãy tạo một trang mới có tên là "demo_session1.php". Trong trang này, chúng tôi bắt đầu một phiên PHP mới và đặt một số biến phiên:

Thí dụ

// Start the session
session_start();
?>


// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>


Chạy ví dụ »

Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML. The session_start() function must be the very first thing in your document. Before any HTML tags.



Nhận các giá trị biến phiên PHP

Tiếp theo, chúng tôi tạo một trang khác có tên là "demo_session2.php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên chúng tôi đặt trên trang đầu tiên ("demo_session1.php").

Lưu ý rằng các biến phiên không được truyền riêng cho mỗi trang mới, thay vào đó chúng được truy xuất từ ​​phiên chúng tôi mở ở đầu mỗi trang (session_start()).

Cũng lưu ý rằng tất cả các giá trị biến phiên được lưu trữ trong biến $ _Session toàn cầu:

Thí dụ

session_start();
?>


// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".
";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>


Chạy ví dụ »

Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML.

Thí dụ

session_start();
?>


print_r($_SESSION);
?>


Chạy ví dụ »

Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML.

Nhận các giá trị biến phiên PHP


Tiếp theo, chúng tôi tạo một trang khác có tên là "demo_session2.php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên chúng tôi đặt trên trang đầu tiên ("demo_session1.php").

Lưu ý rằng các biến phiên không được truyền riêng cho mỗi trang mới, thay vào đó chúng được truy xuất từ ​​phiên chúng tôi mở ở đầu mỗi trang (session_start()).

Thí dụ

session_start();
?>


// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>


Chạy ví dụ »


Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML.

Nhận các giá trị biến phiên PHP

Thí dụ

session_start();
?>


// remove all session variables
session_unset();

Chạy ví dụ »
session_destroy();
?>


Chạy ví dụ »


Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML.




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.

HTMLSpecialchars () có thể được sử dụng khi in SID để ngăn chặn các cuộc tấn công liên quan đến XSS.

Tại sao chúng ta sử dụng phiên trong PHP?php.ini file called session.save_path. Before using any session variable make sure you have setup this path.

Phiên Php được sử dụng để lưu trữ và truyền thông tin từ trang này sang trang khác tạm thời (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à truyền thông tin giỏ hàng, ví dụ: Tên người dùng, mã sản phẩm, tên sản phẩm, giá sản phẩm, vv từ trang này sang trang khác.

  • Mục đích của phiên là gì?

  • Mục đích phiên là một mô tả chung về các kết quả, mục tiêu hoặc thành tích mong muốn liên quan đến các cuộc họp hoặc tụ tập nhóm. Mục đích mô tả các kết quả dự kiến ​​được mong đợi của những người tham gia.PHPSESSID is automatically sent to the user's computer to store unique session identification string.

  • Tại sao các biến phiên được sử dụng?

Các biến phiên là các biến đặc biệt chỉ tồn tại trong khi phiên của người dùng với ứng dụng của bạn đang hoạt động. Các biến phiên là cụ thể cho mỗi khách truy cập vào trang web của bạn. Chúng được sử dụng để lưu trữ thông tin dành riêng cho người dùng cần được truy cập bởi nhiều trang trong một ứng dụng web.

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.

Tại sao chúng ta sử dụng phiên trong PHP?

Phiên Php được sử dụng để lưu trữ và truyền thông tin từ trang này sang trang khác tạm thời (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à truyền thông tin giỏ hàng, ví dụ: Tên người dùng, mã sản phẩm, tên sản phẩm, giá sản phẩm, vv từ trang này sang trang khác.to store and pass information from one page to another temporarily (until user close the website). PHP session technique is widely used in shopping websites where we need to store and pass cart information e.g. username, product code, product name, product price etc from one page to another.

Mục đích của phiên là gì?

Mục đích phiên là một mô tả chung về các kết quả, mục tiêu hoặc thành tích mong muốn liên quan đến các cuộc họp hoặc tụ tập nhóm.Mục đích mô tả các kết quả dự kiến được mong đợi của những người tham gia.a general description of the desired outcomes, goals, or accomplishments associated with group meetings or gatherings. The purpose describes the anticipated results that are expected of the participants.

Tại sao các biến phiên được sử dụng?

Các biến phiên là các biến đặc biệt chỉ tồn tại trong khi phiên của người dùng với ứng dụng của bạn đang hoạt động.Các biến phiên là cụ thể cho mỗi khách truy cập vào trang web của bạn.Chúng được sử dụng để lưu trữ thông tin dành riêng cho người dùng cần được truy cập bởi nhiều trang trong một ứng dụng web.to store user-specific information that needs to be accessed by multiple pages in a web application.

Phiên trong PHP là gì nó hoạt động?

Trình duyệt gửi yêu cầu đến máy chủ.php trả lời bằng cách gửi mã thông báo duy nhất xác định phiên hiện tại.Điều này được gọi là ID phiên.Trong tất cả các yêu cầu tiếp theo, trình duyệt gửi ID phiên để nói: "Này, đó là tôi một lần nữa."Tất cả các dữ liệu khác liên quan đến phiên được lưu trữ trên máy chủ web. PHP responds by sending a unique token that identifies the current session. This is known as the session ID. In all subsequent requests, the browser sends the session ID to say, "Hey, it's me again." All other data related to the session is stored on the web server.