Home  >  Article  >  Backend Development  >  Application of PHP user state management function_PHP tutorial

Application of PHP user state management function_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:09:40862browse

User state management (session support) is a long-awaited new feature of PHP 4.0. In the era of PHP 3.0, programmers had to use libraries written by others to implement state management functions, or simply abandon this function. The lack of state management functionality is actually one of the most disappointing aspects of PHP 3.0. But now the situation has changed. Starting from the early beta version of PHP 4.0, user state management has become one of PHP's built-in functions.

You can use the state management function to manage all relevant variables from the time the user enters the website until he leaves the website (as long as the user does not leave the website, these variables are available, Data will not disappear because the user leaves a single page), there is no need to store many cookies or use hidden form fields, or even store these variables in the database, causing a large load on the database server.

As soon as you activate status management on a page in your website, the PHP engine will start recording the user status (if the system has not already started recording the visitor status for this user), or Continue to record the status of a previously activated user. To activate PHP's state management function, you can use the following syntax:

session_start();

Once state management is activated, PHP will send a unique status code through a cookie (see this code) It will look like: 940f8b05a40d5119c030c9c7745aead9) to the user. At the same time, on the server side, the PHP engine will automatically generate a temporary text file with a file name corresponding to the status code (such as: sess_940f8b05a40d5119c030c9c7745aead9). This file will be used to store the programmer. All variables registered in this user state record.

When it comes to user state management, the most commonly used example is a page access counter (access counter): Now I will start to teach you how to write PHP program code.

Special attention

Before you try to activate the user status record, you must not output any content (no spaces, TAB or even newlines, etc., nor any HTML volume) tag, nothing will work) to the browser. This is because the state management related functions will send HTTP header information to the browser. If other content has been output before sending the HTTP header information to the browser, the system will generate an error message.

If the user's status management has not been activated, the following line of program will activate the user's status management:

session_start();

Next , register a variable named count:

session_register('count');

Once you register a variable, PHP will register it throughout the entire process from the user entering the website to leaving the website. The value of this variable is automatically maintained for you during the browsing process, and you can access these registered variables at any time. The newly registered variable does not have any value assigned to it, but once we increase the value of the count variable, its value will be 1:

$count++;

Put these program codes Combined, our program code will do the following: activate the user status recording function (if it is not already activated for this user), assign a unique status code (session id) to the user, register A variable named count, and every time the user browses to the page, the value of the variable $count is incremented by one. This value can be used to record the number of times the user has browsed the page.

If we want to count how many times the user viewed the page during this browsing process, we only need to print the value of the variable $count:

echo "<P> You have viewed this page $count times. </p>";

The complete page view counter program code looks like this:

<?session_start();
session_register('count');
$count++;
echo "<P>You have viewed this page $count times.</p>";
?>


If you keep reloading this page, you will find that the number of views displayed on the screen will continue to increase. In addition to registering simple variables, we can also register an array into the user status record. Suppose we have the following array named $faves:

$faves = array ('Classical Music', 'Travel', 'Singing', 'Linux');

Register array The method is exactly the same as registering other simple variables:

session_register('faves');

After registering the array, you must refer to the method of the array in the subsequent program code. It doesn't make any difference, just simply call the $faves variable.Suppose your user selects something he likes in a page form on the website, and you register these items into the user's status record through the $faves array, then you can easily access other pages on the website. Easily display these items on the screen:

<?
session_start();
echo "My visitors like:<ul>";
while (list( $v) = each ($faves)) {
echo "<li>$v</li>"; }
echo "</ul>";
?>


With that much ease, you can display the things your visitors like on your web page.

The variables registered in the user status record cannot be overridden by query strings. For example, the user cannot directly enter the following URL in the browser's address bar:

http:///www.yourdomain.com/yourscript.php?count=56 in an attempt to override the value of the $count variable originally registered in the user status record. This is a very important security concept: only you can register or delete variables in the user status record in your program, and other users cannot attempt to obfuscate the values ​​of these variables through the query string following the URL.

To delete a previously registered user status variable, you can use the following syntax:

session_unregister('count');

To record the entire user status To delete all variables and stop logging, please use the following syntax:

session_destroy();

Conclusion:

Proper use of the user status recording function has many benefits: It allows us to save user status data in the database and reduce the load on the database server. It also saves us from having to write long program code to record these user state variables through cookies (and, in this way, we don't have to spend a long time in the website's privacy statement to explain why when using When users log into the website, we store fifty cookies on their hard drive). This feature allows us to only need a cookie to store a variable (session id), and all other information is recorded for us through an extremely sophisticated mechanism, making our work couldn't be easier!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314391.htmlTechArticleUser state management (session support) is a long-awaited new feature of PHP 4.0. In the era of PHP 3.0, programmers had to use libraries written by others to implement...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn