Home Backend Development PHP Tutorial PHP cookie method study notes sharing_PHP tutorial

PHP cookie method study notes sharing_PHP tutorial

Jul 13, 2016 am 10:50 AM
cookie php and share exist study method program notes

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.

Example, php setting and getting cookies

The code is as follows Copy code
 代码如下 复制代码

setcookie('mycookie','value');

//函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
echo($mycookie);
echo($HTTP_COOKIE_VARS['mycookie']);
echo($_COOKIE['mycookie']);

setcookie('mycookie','value');

//Function prototype: int setcookie(string name, string value, int expire, string path, string domain, int secure)

echo($mycookie);
echo($HTTP_COOKIE_VARS['mycookie']);

echo($_COOKIE['mycookie']);
 代码如下 复制代码

setcookie('mycookie');或setcookie('mycookie','');或setcookie("mycookie",false);
//setcookie('mycookie','',time()-3600);
echo($HTTP_COOKIE_VARS['mycookie']);
print_r($_COOKIE);

Delete Cookies

 代码如下 复制代码

setcookie('mycookie','',time()-3600);

(1) Call setcookie() with only name parameter;

(2) Make the expiration time be time() or time-1;

The code is as follows Copy code


setcookie('mycookie'); or setcookie('mycookie',''); or setcookie("mycookie",false);
 代码如下 复制代码

$y2k = mktime(0,0,0,1,1,2000);
setcookie('name','value',$y2k);
setcookie('name', 'value', time+3600);
setcookie('name', 'value', $y2k, '~/myhome', '.domain.com');

//setcookie('mycookie','',time()-3600); echo($HTTP_COOKIE_VARS['mycookie']); print_r($_COOKIE);
Suggested deletion method:
The code is as follows Copy code
setcookie('mycookie','',time()-3600);
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:
The code is as follows Copy code
$y2k = mktime(0,0,0,1,1,2000); setcookie('name','value',$y2k); setcookie('name', 'value', time+3600); setcookie('name', 'value', $y2k, '~/myhome', '.domain.com');

How to get COOKIE expiration time

The code is as follows Copy code
 代码如下 复制代码

$expire = time() + 86400; // 设置24小时的有效期
setcookie ("var_name", "var_value", $expire); // 设置一个名字为var_name的cookie,并制定了有效期
setcookie ("var_name_expire", $expire, $expire); // 再将过期时间设置进cookie以便你能够知道var_name的过期时间

$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

 代码如下 复制代码

//数据库的位置
define('DB_HOST', 'localhost');
//用户名
define('DB_USER', 'root');
//口令
define('DB_PASSWORD', '19900101');
//数据库名
define('DB_NAME','test') ;
?>

1. Database connection configuration page: connectvars.php
The code is as follows Copy code
//Database location<🎜> define('DB_HOST', 'localhost');<🎜> //Username<🎜> define('DB_USER', 'root');<🎜> //Password<🎜> define('DB_PASSWORD', '19900101');<🎜> //Database name<🎜> define('DB_NAME','test') ;<🎜> ?>


2. Login page: logIn.php

The code is as follows Copy code

//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.'

';
          ?>
           
           

& Lt; Fieldset style = "width: 250px;" & gt;
                                                                                                                                                          

               
               
                                value="" />
               

               
               
               
           

           
       


                }
        ?>
   

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']对数据库进行查询,可以做好多好多事情*/
?>
复制代码

//已登录页面,显示登录用户名

if(isset($_COOKIE['username'])){
代码如下 复制代码
/**cookies注销页面*/
if(isset($_COOKIE['user_id'])){
//将各个cookie的到期时间设为过去的某个时间,使它们由系统删除,时间以秒为单位
setcookie('user_id','',time()-3600);
setcookie('username','',time()-3600);
}
//location首部使浏览器重定向到另一个页面
$home_url = 'logIn.php';
header('Location:'.$home_url);
?>
    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)  
 代码如下 复制代码
/**cookies logout page*/<🎜> if(isset($_COOKIE['user_id'])){<🎜>     //将各个cookie的到期时间设为过去的某个时间,使它们由系统删除,时间以秒为单位<🎜>     setcookie('user_id','',time()-3600);<🎜>     setcookie('username','',time()-3600);<🎜> }<🎜> //location首部使浏览器重定向到另一个页面<🎜> $home_url = 'logIn.php';<🎜> header('Location:'.$home_url);<🎜> ?>

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.

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles