Home >Backend Development >PHP Tutorial >10 Tips for PHP Scripting (2)_PHP Tutorial

10 Tips for PHP Scripting (2)_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 16:04:27938browse

Session Usage
PHP 4.0 has a feature that has been long-awaited, which is PHP session support. In contrast, PHP 3.0 users have to use third-party libraries or do not have this functionality at all. The lack of session support is one of PHP's biggest flaws and its most criticized aspect. However, as session support has been part of PHP 4.0 since early beta versions, this obstacle has disappeared.

With session support, you can maintain user-specific variables during the user's visit to the website without having to set multiple cookies, use hidden form fields, or in a database that you may frequently connect to. Store information, etc.

Starting a session on a page tells the PHP engine that you either want to start a session (if there was none before) or continue the current session:

session_start();

Starting a session will send an identification string to the user through a cookie (for example, 940f8b05a40d5119c030c9c7745aead9); on the server side, a temporary file matching this will be created. In the above example, its name is like this: sess_940f8b05a40d5119c030c9c7745aead9. This file contains registered session variables and their assignments.

User access counters are the most common example of using sessions:

Start your PHP module and make sure the PHP code is the first line of the file: no whitespace, no HTML output, etc. This is because when the session function emits a file header, if you send blanks or HTML code before the session_start() function, the system will report an error.

// if a session does not yet exist for this user, start one
session_start();

Next, register a variable named count .

session_register('count');

Registering a variable is equivalent to telling PHP that as long as the session exists, a variable named count will also exist. This variable has not yet been assigned a value. However, if you add 1 to it, the value can be assigned to 1:

$count++;

Taking the above lines of code together, you have actually started a session (if there is no previous one), assign a session id to a user, register a variable named count and increment $count by 1 to indicate the user's first visit to the page:

To display that the user visited under the current session The number of pages, you just need to print out the value of $count:

echo "

You've been here $count times.

";

Entire The access counter code is as follows:

session_start();
session_register('count');
$count++;
echo "

You' ve been here $count times.

";
?>

If you reload the above script, you can observe that the count value increases. Interesting?

You can also register arrays in the session. Suppose you have an array called $faves:

$faves = array ('chocolate','coffee','beer','linux');

You can do it like any other single Register the array in the same way as a variable:

session_register('faves');

There is no difference between indexing an array and indexing other single variables, such as $faves. If your user wants to show his hobbies on a page of the Web site, then you can register his favorite things as a session variable called $faves, and then you can print these values ​​​​on other pages:

session_start();
echo "My user likes:
    ";

    while (list(,$v) = each ( $faves)) {
    echo "
  • $v"; }

    echo "
";
?>

This is what you want What you get: A nice list of the user’s hobbies.

Session variables cannot be overridden by query strings, that is, you cannot type http:///www.yourdomain.com/yourscript.php?count=56 to register the session variable $count Assign new value. This is very important for security reasons: you can only modify or delete (unregistered) session variables from server-side scripts.

If you want to completely delete a session variable, you can unregister the variable from the system:

session_unregister('count');

Delete a session completely , such as pressing the Logout button is an example, then you can write the following code:

session_destroy();

Using sessions to store variable values ​​can save us from writing database processing It reduces the pain of coding so it doesn't unduly increase the load on the system, reduces the scope for using proprietary database syntax, and you no longer have to send a bunch of cookies to users who visit the site. But now - you only need one cookie and one variable to get it all done. It’s really just a drop of water that reflects all the glory! It really doesn't get any simpler than this.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315948.htmlTechArticleSession Usage PHP 4.0 has a long-awaited feature, which is PHP session (session) support. In contrast, PHP 3.0 users have to use third-party libraries or completely...
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