Cookies in PHP are no different from those in other programs. Cookies are used to store information on the client. They are commonly used in some applications with low security requirements, such as users logging in and remembering passwords. Below I Let me introduce to you the php cookie study notes.
PHP setcookie() function sends an HTTP cookie to the client. A cookie is a variable sent to the browser by the server. Cookies are typically small text files that a server embeds on a user's computer. This cookie is sent each time the computer requests a page through the browser. The name of the cookie is specified as a variable of the same name. For example, if the cookie being sent is named "name", a variable named $user is automatically created containing the cookie's value.
The cookie must be assigned before any other output is sent. The function returns true if successful, false otherwise.
1 setcookie(name, value, expire, path, domain, secure)
•name required. Specifies the name of the cookie.
•value required. Specifies the value of the cookie.
•expire Optional. Specifies the validity period of the cookie.
•path optional. Specifies the server path for cookies.
•domain optional. Specifies the domain name for the cookie.
•secure Optional. Specifies whether cookies are transmitted over a secure HTTPS connection.
The value of the cookie named "user" can be accessed via $HTTP_COOKIE_VARS["user"] or $_COOKIE["user"]. When sending a cookie, the cookie value is automatically URL-encoded. URL decoding is done on reception. If you don't need this, you can use setrawcookie() instead.
PHP provides a very useful function mktime().
You just need to pass to mktime() the hours, minutes, seconds, months, dates, and years you want to represent in order,
mktime() will return the total number of seconds since January 1, 1970.
So if you need to simulate the Y2K problem:
$expire = time() + 86400; // Set the validity period of 24 hours
setcookie ("var_name", "var_value", $expire); // Set a cookie named var_name and set the validity period
setcookie ("var_name_expire", $expire, $expire); // Set the expiration time into the cookie so that you can know the expiration time of var_name
Note:
When sending a cookie, the cookie value is automatically URL-encoded. URL decoding is done on reception.
If you don't need this, you can use setrawcookie() instead.
For example, cookie to save user login information
//Insert relevant information about connecting to the database
require_once 'connectvars.php';
$error_msg = "";
//Determine whether the user has set a cookie. If $_COOKIE['user_id'] is not set, execute the following code
if(!isset($_COOKIE['user_id'])){
If(isset($_POST['submit'])){//Determine whether the user has submitted the login form, if so, execute the following code
$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$user_username = mysqli_real_escape_string($dbc,trim($_POST['username']));
$user_password = mysqli_real_escape_string($dbc,trim($_POST['password']));
if(!empty($user_username)&&!empty($user_password)){
//The SHA() function in MySql is used to perform one-way encryption of strings
$query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND "."password = SHA('$user_password')";
//Query with username and password
$data = mysqli_query($dbc,$query);
//If the found record is exactly one, set COOKIE and redirect the page at the same time
If(mysqli_num_rows($data)==1){
$row = mysqli_fetch_array($data);
setcookie('user_id',$row['user_id']);
setcookie('username',$row['username']);
$home_url = 'loged.php';
header('Location: '.$home_url);
}else{//If the found record is incorrect, set the error message
$error_msg = 'Sorry, you must enter a valid username and password to log in.';
}
}else{
$error_msg = 'Sorry, you must enter a valid username and password to log in.';
}
}
}else{//If the user is already logged in, jump directly to the logged in page
$home_url = 'loged.php';
header('Location: '.$home_url);
}
?>
Mismatch - Log In
& Lt;!-Through the $ __Cookie ['user_id'], it is judged. If the user fails to log in, the login form is displayed so that the user enters the username and password-& gt;
If(empty($_COOKIE['user_id'])){
echo '
'.$error_msg.'
';
?>
}
?>
3、登入页面:loged.php
代码如下
代码如下
复制代码
//已登录页面,显示登录用户名
if(isset($_COOKIE['username'])){
echo 'You are Logged as '.$_COOKIE['username'].' ';
//点击“Log Out”,则转到logOut.php页面进行cookie的注销
echo ' Log Out('.$_COOKIE['username'].')';
}
/**在已登录页面中,可以利用用户的cookie如$_COOKIE['username']、
* $_COOKIE['user_id']对数据库进行查询,可以做好多好多事情*/
?>
echo 'You are Logged as '.$_COOKIE['username'].' ';
//点击“Log Out”,则转到logOut.php页面进行cookie的注销
echo ' Log Out('.$_COOKIE['username'].')';
}
/**In the logged in page, you can use the user's cookies such as $_COOKIE['username'],
* $_COOKIE['user_id'] queries the database and can do many things*/
?>
4、注销cookie页面:logOut.php(注销后重定向到lonIn.php)
Finally, we summarize three points that everyone must pay attention to
1: Things to note when setting cookies
Setting cookies on the same page is actually done in order from back to front. If you want to delete a cookie first and then write a cookie, you must write the write statement first and then the delete statement. Otherwise, an error will occur.
2: setcookie example
Simple: setcookie("mycookie","value_of_mycookie");
With expiration time: setcookie("withExpire","Expire_in_1_hour",time()+3600);
It has everything: setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.bKjia.c0m",1);
3: Some characteristics of cookies
Cookies are path-oriented. With the default path attribute, the WEB server page will automatically pass the current path to the browser. Specifying the path will force the server to use the set path.
Cookies set in one directory page cannot be seen in another directory page.
http://www.bkjia.com/PHPjc/632661.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632661.htmlTechArticleCookies in php are no different from other programs. Cookies are used to store information on the client and are commonly used. In some applications with low security requirements, such as users logging in and remembering passwords...
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