Home >Backend Development >PHP Tutorial >Detailed introduction to the use of cookies and sessions in PHP
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
{ //Used to log out cookies
setcookie('id',"");
setcookie('pass',"");
echo "3f1c4e4b6b16bbbd69b2ee476dc4f83alocation.href='login.php'2cacc6d41bbb37262a98f745aa00fbf0";//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"27835793f4768f4164d1421d99e293bclocation.href='login.php'2cacc6d41bbb37262a98f745aa00fbf0"; //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!df250b2156c434f3390392d09b1c9563Username: ".$_COOKIE['id']."076402276aae5dbec7f672f8f4e5cc81 Password: ".$_COOKIE['pass'];
echo "df250b2156c434f3390392d09b1c9563";
echo "288f918ddb251194273bb2bb7ced2db5Log out cookies5db79b134e9f6b82c0b36e0489ee08ed "; //Within double quotes, if there are more quotes, single quotes are required.
}
?>
157bbac558a7833eedb56b4dcc52ac44
User ID:
fbc453fe010a0e1073b27ef7fc8a76b9076402276aae5dbec7f672f8f4e5cc81076402276aae5dbec7f672f8f4e5cc81
Password:
ce09dd6c711d83f754b570f95d40c9b3076402276aae5dbec7f672f8f4e5cc81df250b2156c434f3390392d09b1c9563
7c53702a2bf0be1eaf670e884b3f62e5
f5a47148e367a6035fd7a2faa965022e
session usage example
<?php //session用法实例 session_start();//启动session,必须放在第一句,否则会出错。 if($_GET['out']) { unset($_SESSION['id']); unset($_SESSION['pass']); } if($_POST['name']&&$_POST['password']) { //用于设置session $_SESSION['id']=$_POST['name']; $_SESSION['pass']=$_POST['password']; } if($_SESSION['id']&&$_SESSION['pass']) { echo "登录成功!<br/>用户ID:".$_SESSION['id']."<br />用户密码:".$_SESSION['pass']; echo "<br />"; echo "<a href='login.php?out=out'>注销session</a>"; } ?>
b9245ce81b04f112dec26e427c862926
User ID:
548052c193c31614ea2afa3f78d6e281076402276aae5dbec7f672f8f4e5cc81076402276aae5dbec7f672f8f4e5cc81
Password:
ce09dd6c711d83f754b570f95d40c9b3076402276aae5dbec7f672f8f4e5cc81df250b2156c434f3390392d09b1c9563
d70b7f10a54717363b232a0501a6630a
f5a47148e367a6035fd7a2faa965022e
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!