Home  >  Article  >  Backend Development  >  The relationship and difference between COOKIE and SESSION, etc., the difference between cookiesession_PHP tutorial

The relationship and difference between COOKIE and SESSION, etc., the difference between cookiesession_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:46:25980browse

The relationship and difference between COOKIE and SESSION, etc., the difference between cookie session

1. Cookie introduction

Cookies are often used to identify users. Cookies are small files that a server leaves on a user's computer. Whenever the same computer requests a page through the browser, it also sends the cookie. With PHP, you can create and retrieve cookie values.

1. Set Cookie

PHP uses the SetCookie function to set cookies.

The SetCookie function defines a Cookie and appends it to the end of the HTTP header. The prototype of the SetCookie function is as follows:
int SetCookie(string name, string value, int expire, string path, string domain, int secure);

Parameter description: cookie name, cookie value, expiration time (int), valid path, limited domain name, https delivery is only valid

Note: The currently set cookie does not take effect immediately, but will not be visible until the next page. This is because the cookie is passed from the server to the client's browser on the set page, and will be displayed on the next page. The reason why the browser can retrieve the cookie from the client's machine and send it back to the server.

Usage example:

Normal use:

setcookie('name','PHP Huaibei');

With expiration time:
setcookie('name','PHP Huaibei',time() 24*60*60);//1day

Cookies are path-oriented and are stored under the current file by default. If the path is not set, cookies under different files are saved in different folders by default, as shown in the figure: By default they are saved in the mytest folder

sss

2. Receive and process Cookies

The web communication protocol between the client and the server is http. The three commonly used methods for PHP to obtain user data through http are: POST method, GET method and Cookie. The default delivery method of PHP is Cookie, which is also the best method.

For example, if you set a cookie named MyCookier, PHP will automatically analyze it from the HTTP header received by the WEB server and form a variable like an ordinary variable named $myCookie. The value of this variable It is the value of Cookie

3. Delete Cookies

To delete an existing cookie, there are two ways:

First, call SetCookie with only the name parameter, then the cookie named this name will be deleted from the related computer; for example: setcookie('name','');
Another way is to set the cookie expiration time to time() or time()-1, then the cookie will be deleted (actually expired) after the page is browsed. For example: setcookie('name','PHP Huaibei',time()-24*60*60);
It should be noted that when a Cookie is deleted, its value is in the current The page is still valid.
Notes on using cookies:

First of all, it must be set before the content of the HTML file is output (Cookie is part of the HTTP protocol header and is used to transfer information between the browser and the server, so it must be called before any content belonging to the HTML file itself is output. Cookie function.
You can use

on the PHP page first.

ob_start();//Open

code…..

ob_end_flush(); //Refresh cache

can prevent header prompt error);

Different browsers have different processing mechanisms for cookies
Cookie restrictions are on the client side. The maximum number of cookies that can be created by a browser is 30, and each cookie cannot exceed 4KB. The total number of cookies that can be set by each WEB site cannot exceed 20.
The currently set cookie does not take effect immediately, but will not be visible until the next page

2. Session introduction

The session mechanism is a server-side mechanism. The server uses a structure similar to a hash table (or a hash table) to save information. Each website visitor will be assigned a unique identifier. , that is, the session ID, which can be stored in two ways: either passed through the URL, or stored in the client's cookies. Of course, you can also save the session in the database, which will be safer, but the efficiency will be reduced. The security of .url transmission is definitely too poor. PHP's session mechanism is to set a cookie and save the session ID (Session ID) in the cookie. A session file will be generated on the server side and associated with the user. The web application stores these sessions. Relevant data and transferred between pages.

PHP related functions

There are many functions related to Session in PHP, but these are the few functions we most commonly use:

session_start(): Enable the session mechanism and call it at the beginning of the program file that needs to use the session.

session_register(): Register session variable

session_unregister(): Delete session variables (one by one)

session_is_registered(): Determine whether the session variable is registered

session_distroy(): Destroy all session variables (all session variables are destroyed, including files)

You need to pay attention to the following aspects:

1. The function session_start() must be executed at the beginning of the program, and there cannot be any output content in front of it, otherwise

"Warning: Cannot send session cookie - headers already

will appear

sent" a warning message like this.

2. The function session_register() is used to register relevant variables to be saved in the session. Its usage is as follows:

$val = "session value";

session_register("val");

?>

val is the name of the session variable to be registered. Do not add the "$" symbol when registering, just write the variable name.

3. The function session_unregister() is used exactly the same as the above function, but the function is opposite. The above function is to register

session variable, which deletes the specified session variable.

4. The function session_is_registered() is used to determine whether the session variable is registered.

5. The function session_destroy() is mainly used to destroy all session variables when the system logs out and exits. It has no parameters and can be called directly.

Configuration of the relationship between Session and PHP.ini

1,session.save_handler = file

The method used to read/write back session data. The default is files. It will cause PHP's session management function to use the specified text file to store session data

2,session.save_path = “/xammp/temp/”

Specify the directory to save the session file. You can specify another directory. However, the specified directory must have write permissions from the httpd daemon owner (such as apache or www, etc.), otherwise the session data cannot be restored. It can also be written like session.save_path = "N;/path" where N is an integer. This means that not all session files are saved in the same directory, but are scattered in different directories. This is helpful when the server handles a large number of session files. (Note: The directory needs to be created manually)

3,session.auto_start = 0

If this option is enabled, the session will be initialized for each user request. Not recommended, it is better to initialize the session explicitly through session_start().

QQ screenshot 20111115173320

Above picture: The left side is the session file saved under xammp/tmp/, the content is in PHP serialized format

Right side: The first line is echo serialize($_SESSION['name']); // Serialization

The second line prints the session value

********************** where the file name is session-name and the content is in PHP serialized format

Source: http://www.cnblogs.com/phphuaibei/archive/2011/11/15/2250082.html

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1033983.htmlTechArticleThe relationship and difference between COOKIE and SESSION, cookie session difference 1. Cookie introduction Cookies are often used to identify users. Cookies are small files that a server leaves on a user's computer. Whenever the same calculation...
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