Detailed introduction to the use of cookies and sessions in PHP

高洛峰
Release: 2023-03-06 20:30:02
Original
1705 people have browsed it

Very often, we need to track the activities of visitors throughout the website and automatically or semi-automatically identify their identities (that is, functions such as website login that are often mentioned). At this time, we often use cookies and Session to track and judge

1. Introduction and difference between Cookie and Session

In many cases, we need to track the activities of visitors throughout the website and automatically or semi-automatically identify their identities. (That is, functions such as website login that we usually talk about). At this time, we often use Cookie and Session to track and judge.

Difference

Session information is stored on the server side, but the session id is stored in the client cookie. Of course, PHP's session storage methods are diverse, so it can be tracked even if cookies are disabled

Cookies are completely maintained on the client, such as: IE firefox. When the client disables cookies, they can no longer be used.

2. Cookie configuration and application

Setcookie(string name, string value, int expire, stringpath, string domain, int secure);
where name is the cookie variable name identifier. You will be able to use it to reference cookie variables in PHP just like using ordinary variable names. value is the initial value of the cookie variable, expire represents the validity time of the cookie variable; path represents the relevant path of the cookie variable; domain represents the website of the cookie variable; secure is valid only when https is securely transmitted.

SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);
Receive and process Cookie
PHP for Cookie The support for receiving and processing is very good and is completely automatic. It is the same as the principle of FORM variables and is very simple.
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 the Cookie. value. The same applies to arrays. Another way is to reference PHP's global variable $HTTP_COOKIE_VARS array.
Examples are as follows: (assuming these have been set in previous pages and are still valid)

echo $MyCookie;
echo $CookieArray[0];
echo $_COOKIE ["MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
Delete Cookie

To delete an existing Cookie, there are two ways:

1. SetCookie("Cookie","");
2. SetCookie("Cookie", "value" ,time()-1 / time() );

Restrictions on using cookies

1. It must be set before the content of the HTML file is output;
2. Different browsers handle cookies inconsistently, and sometimes incorrect results may occur.
3. The restriction is 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.

3. Session configuration and application

Copy code The code is as follows:


session_start(); $_SESSION[name]=value; //Configure Seeeion
echo $_SESSION[name]; //Use session
isset($_SESSION[name]); // Determine
unset($_SESSION[name] ]); //Delete
session_destroy(); //Consume all sessions

Note: session_register(), session_unregister, session_is_registered are no longer used under php5

cookies usage examples

if($_GET['out'])

{ //Used to log out cookies
setcookie('id',"");
setcookie('pass',"");
echo "<script>location.href='login.php'</script>";//Because cookies do not take effect in time and will only take effect when you refresh again, so let the page refresh automatically after logging out .
}

if($_POST['name']&&$_POST['password']) //If the variables username and password exist, set cookies below
{ //Used to set cookies
setcookie( 'id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script>location.href='login.php'"; //Let cookies take effect in a timely manner
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //After cookies are set successfully, used to display cookies
echo "Login successful!
Username: ".$_COOKIE['id']."
Password: ".$_COOKIE['pass'];
echo "
";
echo "Log out cookies "; //Within double quotes, if there are more quotes, single quotes are required.
}

?>


User ID:



Password:




session usage example

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
     
    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}
if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}
if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}

?>
Copy after login


User ID:



Password:





The above is the detailed content of Detailed introduction to the use of cookies and sessions in PHP. For more information, please follow other related articles on the PHP Chinese website!

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!