The relationship and difference between COOKIE and SESSION, etc.

WBOY
Release: 2016-08-08 09:20:46
Original
739 people have browsed it

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 Cookie.

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 wait until You can only see it on the next page. This is because the cookie is passed from the server to the client's browser on the set page, and the browser can take the cookie out of the client's machine and send it back to the server on the next page.

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 in the current file by default. If the path is not set, cookies in different files are saved in different folders by default. Below, as shown in the picture: Saved in the mytest folder by default

sss

2. Receiving and processing 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 is Cookie. The value

3, delete the cookie

To delete an existing cookie, there are two ways:

One is to call SetCookie with only the name parameter, then name it this The cookie of name will be deleted from the related user computer; for example: setcookie('name','');
Another way is to set the Cookie expiration time to time() or time()-1, then this Cookie After browsing this page, it was deleted (in fact, it became invalid). For example: setcookie('name','PHP Huaibei',time()-24*60*60);
It should be noted that when a cookie is deleted, its value is still valid on the current page.
Notes on using cookies:

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

ob_start(); //Enable

code...

ob_end_flush(); //Refresh the 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 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, a session ID. , it 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. Passed by URL The security 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 data related to these sessions. And transferred between pages.

PHP related functions

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

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 variables

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

session_is_registered (): Determine whether the session variable is registered

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

You need to pay attention to the following aspects:

1. Function session_start() It must be executed at the beginning of the program, and there cannot be any output content in front of it. Otherwise, a warning message like "Warning: Cannot send session cookie - headers already

sent" will appear.

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() has exactly the same usage as the above function, but the function is opposite. The above function registers the

session variable, while it deletes the specified session variable.

4. The function session_is_registered() is used to determine the session Whether the 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

is used to read/write back session data, the default is files. It will let PHP's session management function 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 Go to another directory, but the specified directory must have write permissions from the owner of the httpd daemon (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

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

The second line is to print the session value

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

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

The above has introduced the relationship and differences between COOKIE and SESSION, including the relevant aspects. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!