PHP Session
session is a more secure way for the client to communicate with the website (server). Once a session is opened, it can be used (maintained) on any page of the website, thus establishing a "dialogue" mechanism between the visitor and the website.
Session variables store information for a single user and are available to all pages in the application.
PHP Session Variables
When you work with an application on your computer, you open it, make changes, and then close it. It's a lot like a conversation. The computer knows who you are. It knows when you open and close apps. However, on the Internet a problem arises: since HTTP addresses cannot maintain state, the web server has no idea who you are and what you do.
PHP session solves this problem by storing user information on the server for subsequent use (such as user name, purchased items, etc.). However, session information is temporary and will be deleted after the user leaves the site. If you need to store information permanently, you can store the data in a database.
The common online shopping cart is a typical application of session. When we reserve products, we put the selected products into the shopping cart, which actually opens a session for the product. If an order is placed for the selected product, the corresponding information will be written to the database; if no order is placed, the session will be closed when the user closes the browser or logs out, and the selected product will become invalid.
session session will create a unique session ID for each visitor who opens the session session to identify the user. The session ID may be stored in a cookie on the user's computer, or it may be passed through the URL. The corresponding specific session value will be stored on the server side, which is also the main difference from cookies, and the security is relatively high.
Starting a PHP Session
Before you can store user information in a PHP session, you must first start the session.
Use the session_start() function to open a session, and the system will assign a session ID
Note: The session_start() function must be located before the <html> tag:
<?php session_start(); ?>
##The above code will register the user's session with the server so that you can start saving user information, and will assign a UID to the user's session.
The correct way to store and retrieve session variables is to use the PHP $_SESSION variable: <?php
session_start();
// 存储 session 数据
$_SESSION['views']=1;
?>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php
// 检索 session 数据
echo "浏览量:". $_SESSION['views'];
?>
</body>
</html>
Output:
Views: 1
In the following example, we create a simple page-view counter. The isset() function detects whether the "views" variable has been set. If the "views" variable is set, we increment the counter. If "views" does not exist, create the "views" variable and set it to 1:
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "浏览量:". $_SESSION['views']; ?>
Destroy Session
If you If you want to delete some session data, you can use the unset() or session_destroy() function.
The unset() function is used to release the specified session variable:
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?>
You can also completely destroy the session by calling the session_destroy() function:
<?php session_destroy(); ?>
Note: session_destroy() The session will be reset and you will lose all stored session data.
session_id
Session is used to track each user's session and is identified using the SessionID generated by the server to distinguish users. Session is stored in the server's memory, and SessionID is stored in the server's memory and the client's Cookie. In this way, when the user makes a request, the server compares the SessionID recorded in the user's cookie with the SessionID in the server's memory, thereby finding the Session corresponding to the user for operation. Therefore, if the client disables cookies, the Session cannot be used.